redis 数据类型之字典

Posted 市丸银

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 数据类型之字典相关的知识,希望对你有一定的参考价值。

1、hset

hset(name, key, value)
 # 参数:
    # name,redis的name
    # key,name对应的hash中的key
    # value,name对应的hash中的value

2、hmset

hmset(name, mapping)
# 在name对应的hash中批量设置键值对
# 参数:
    # name,redis的name
    # mapping,字典,如:{‘k1‘:‘v1‘, ‘k2‘: ‘v2‘}

3、hget

hget(name,key)    
# 在name对应的hash中获取根据key获取value

4、hmget

hmget(name, keys, *args)
# 在name对应的hash中获取多个key的值 
# 参数:
    # name,reids对应的name
    # keys,要获取key集合,如:[‘k1‘, ‘k2‘, ‘k3‘]
    # *args,要获取的key,如:k1,k2,k3
    # keys 或 *args

5、hgetall

hgetall(name)
# 获取name对应hash的所有键值
# 一般不用,可能会引起爆栈

6、hlen

hlen(name)
# 获取name对应的hash中键值对的个数

7、hkeys

hkeys(name)
# 获取name对应的hash中所有的key的值

8、hvals

hvals(name)
# 获取name对应的hash中所有的value的值

9、hexits

hexists(name, key)
# 检查name对应的hash是否存在当前传入的key

10、del

hdel(name,*keys)
# 将name对应的hash中指定key的键值对删除

11、hincrby

hincrby(name, key, amount=1)
# 自增name对应的hash中的指定key的值,不存在则创建key=amount
# 参数:
    # name,redis中的name
    # key, hash对应的key
    # amount,自增数(整数)

12、hscan_iter  扫描

hscan_iter(name, match=None, count=None)
# 利用yield封装hscan创建生成器,实现分批去redis中获取数据
# 参数:
    # match,匹配指定key,默认None 表示所有的key
    # count,每次分片最少获取个数,默认None表示采用Redis的默认分片个数
# 如:
    # for item in r.hscan_iter(‘xx‘):
    #     print item

 

以上是关于redis 数据类型之字典的主要内容,如果未能解决你的问题,请参考以下文章

Redis数据结构之字典

Redis源码剖析 - Redis数据类型之redisObject

Redis底层解析字典类型

Redis源代码剖析 - Redis内置数据结构之压缩字典zipmap

redis源码分析之数据结构--dictionary

Redis实现之对象