亲宝软件园·资讯

展开

redis删除hash的实现方式

调皮的蟠桃 人气:0

redis删除hash方式

在工作中遇到删除hash类型的缓存时遇到了,怎样也删不掉redis里面的缓存,后来发现,hash类型和string类型的换成删除方式不一样,所以在这里做一下整理,后面再有遇到其他类型的,还会陆续的完善。

详细如下:

针对hash类型的缓存删除,函数:

因为需要删除很多缓存内容,所以在common.php写的公共函数进行调用,

function processredis($type,$id=false,$code=false){
        #这里的$type就是标识需要删除哪一块的缓存类型,根据这个类型删除相应的缓存内容。

        if($type==1){
                #hash类型

                $XXXXXheart = $id;
                if($XXXXXheart ){
                    $key        = "{$XXXXXheart }";
                    $redisXXXid = $redisModel->hashDel("XXXXXX:XXXXXXX:XXXXX",$key);
                }

        }elseif($type == 2) {
                #string类型缓存
                $chNum = $id;
                if($chNum != null){
                    $key        = "XXXXX:XXXXX:XXXX:".$chNum ;
                    $redisXXXXid = $redisModel->delete($key);
                }
       }

}

redis之hash类型解读

redis中存取hash类型

Hash类型保存的值是一个map集合,又因为redis是key-value类型,故hash类型在redis中是key - map,即key - <field,value>。

Map的特点是存储键值对,也是无序不可重复的。

常用命令

(1)将键值对存入hash中:hset key field value

(2)获取指定hash集中该field的关联值:hget key field

(3)存入多个值:hmset key field value [field value …]

(4)获取hash集中所有的字段和值:hgetall key

(5)删除hash中的值:hdel key field [field…]

(6)获取hash集中元素的个数:hlen key

(7)判断hash中是否存在指定字段:hexists key field

(8)获取hash集中所有的字段名:hkeys key

(9)hash集中指定字段值增加步长:hincrby key field i

(10)hash集中指定字段值增加float型步长:hIncrByFloat key field f

(11)当不存在指定字段时才赋值:hsetnx key field value

hash命令小结

增:

删:

查:

改:无

其他:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论