一、redis参考资料:
1、官网:http://www.redis.cn/commands/incr.html
2、中国用户组论坛:http://bbs.redis.cn/forum.php
3、武佩奇博客:https://www.cnblogs.com/wupeiqi/articles/5132791.html
二、redis其他类型
(一)list
具体操作方法见上述资料,其中需要注意:
# 由于redis类库中没有提供对列表元素的增量迭代,如果想要循环name对应的列表的所有元素,那么就需要:
# 1、获取name对应的所有列表
# 2、循环列表
# 但是,如果列表非常大,那么就有可能在第一步时就将程序的内容撑爆,所有有必要自定义一个增量迭代的功能:
def list_iter(name):
"""
自定义redis列表增量迭代
:param name: redis中的name,即:迭代name对应的列表
:return: yield 返回 列表元素
"""
list_count = r.llen(name)
for index in xrange(list_count):
yield r.lindex(name, index)
# 使用
for item in list_iter('pp'):
print item
(二)set
set是不重复元素的列表,其中的具体用法与list有些许不同,如:
1、添加:sadd(name,*args)
2、获取:smembers(name)
3、长度:scard(name)
(三)zset
即sorted set,它是有序集合,在集合的基础上,为每一个元素排序,
元素的排序需要另外的一个值来进行比较,所以,对于有序集合每一个元素有两个值,即:值和分数,分数专门用来做排序,
三、其他操作
redis除了对其中各种不同类型的值有具体操作,对于redis的各个整体,也有相应的一些操作:
1、删除指定key:delete
2、获取全部keys:keys
3、查看指定key是否存在:exists
4、查看指定key的类型:type
5、给指定key重命名:rename
6、给指定key设置超时时间:expire
7、随机获取一个key:randomkey
8、将redis转移至指定db下:move
9、迭代扫描键值,返回部分:scan
10、逐个扫描:scan_iter
r.set('str_k','val_str') # r.mset(k1='v1',k2='v2',k3='k3',) # r.mset({'k4':'v4','k5':'v5',}) # # r.hset('hash_name','hash_k','hash_v') # r.hmset('hash_name',{'k4':'v4','k5':'v5',}) # # ret = r.keys() # 获取全部keys # #[b'k1', b'k2', b'k6', b'lili', b'hash_name', b'k5', b'goo', b'k4', b'dict1', b'key', b'k3', b'num', b'n1', b'user', b'name', b'str_k', b'foo'] # # r.delete('hash_name','goo','dict1') # 删除指定keys # # [b'k1', b'k2', b'k6', b'lili', b'k5', b'k4', b'key', b'k3', b'num', b'n1', b'user', b'name', b'str_k', b'foo'] # print(r.exists('key')) # 存在返回True # print(r.exists('keys')) # 不存在返回False # r.expire('num',5) # 设置超时时间 # r.rename('str_k','rename') # 重新命名 # print(r.randomkey()) # 随机获取一个key # print(r.type('user')) # b'string' # print(r.type('hash_name')) # b'hash' print(r.keys()) n_cursor1,data1 = r.scan() print(n_cursor1,data1) n_cursor2,data2 = r.scan(cursor=n_cursor1) print(n_cursor2,data2) n_cursor3,data3 = r.scan(cursor=n_cursor2) print(n_cursor3,data3) print('------------------------') for item in r.scan_iter(): print(item)
浙公网安备 33010602011771号