redis之列表
1 lpush(name, values)
2 rpush(name, values) 表示从右向左操作
3 lpushx(name, value)
4 rpushx(name, value) 表示从右向左操作
5 llen(name)
6 linsert(name, where, refvalue, value))
7 r.lset(name, index, value)
8 r.lrem(name, value, num)
9 lpop(name)
10 rpop(name) 表示从右向左操作
11 lindex(name, index)
12 lrange(name, start, end)
13 ltrim(name, start, end)
14 rpoplpush(src, dst)#可以做消息队列使用 阻塞式弹出,如果没有,就阻塞
15 blpop(keys, timeout)
16 r.brpop(keys, timeout),从右向左获取数据
17 brpoplpush(src, dst, timeout=0)
'''
lpush
lpop
llen
lrange
'''
列表实现迭代取值
`def l_scan_iter(key, count=10):
num = 0
while True:
print('-----------')
res = conn.lrange(key, num, num + count - 1)
num = num + count
if res:
for item in res:
yield item
else:
break
for item in l_scan_iter('eggs', 20):
print(item)`
redis之hash
1 hset(name, key, value)
2 hmset(name, mapping)
3 hget(name,key)
4 hmget(name, keys, *args)
5 hgetall(name)#会一次性全取出,效率低,可以能占内存很多
6 hlen(name)
7 hkeys(name)
8 hvals(name)
9 hexists(name, key)
10 hdel(name,*keys)
11 hincrby(name, key, amount=1)
12 hincrbyfloat(name, key, amount=1.0)
13 hscan(name, cursor=0, match=None, count=None)
14 hscan_iter(name, match=None, count=None)#它内部用了hscan,等同于hgetall 所有数据都拿出来,count的作用是,生成器,每次拿count个个数
'''
hset
hget
hmget
hlen
hdel
hscan_iter
'''
redis其他操作
1 delete(*names)
2 exists(name)
3 keys(pattern='*')# res=conn.keys('w?e') # ?表示一个字符, * 表示多个字符
4 expire(name ,time)
5 rename(src, dst)
6 move(name, db))
7 randomkey()
8 type(name)