FLUSHDB 清除一个数据库,FLUSHALL清除整个redis数据。
2 使用shell
redis-cli keys "*" | while read LINE do TTL=`redis-cli ttl $LINE`if [ $TTL -eq -1 ]then echo "Del $LINE"RES=`redis-cli del $LINE`fidone
删除 3600秒之后过期的
redis-cli keys "*" | while read LINE do TTL=`redis-cli ttl $LINE`if [ $TTL -ge 3600 ]then echo "Del $LINE"RES=`redis-cli del $LINE`fidone
删除某些前缀的
redis-cli KEYS "126.com*" | xargs redis-cli DEL
3 使用lua脚本
删除所有keyEVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 *
删除某些key
EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 126.com*
//DEL# 情况1: 删除单个key
$redis->set('myname','ikodota')
echo $redis->get('myname').'<br>'# 返回:ikodota
$redis->del('myname')# 返回 TRUE(1)
var_dump($redis->get('myname'))# 返回 bool(false)
# 情况2: 删除一个不存在的key
if(!$redis->exists('fake_key')) # 不存在
var_dump($redis->del('fake_key'))# 返回 int(0)
# 情况3: 同时删除多个key
$array_mset=array('first_key'=>'first_val',
'second_key'=>'second_val',
'third_key'=>'third_val')
$redis->mset($array_mset)#用MSET一次储存多个值
$array_mget=array('first_key','second_key','third_key')
var_dump($redis->mget($array_mget))#一次返回多个值 //array(3) { [0]=>string(9) "first_val" [1]=>string(10) "second_val" [2]=>string(9) "third_val" }
$redis->del($array_mget)#同时删除多个key
var_dump($redis->mget($array_mget))#返回 array(3) { [0]=>bool(false) [1]=>bool(false) [2]=>bool(false) }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)