pip install redis
import redis
r = redis.StrictRedis(‘176.216.1.139‘,6379,0)
r.set(‘foo‘,‘Hello Python‘)
print(r.get(‘foo‘))
博客地址:http://www.cnblogs.com/cnkai/p/7642787.html
博客地址:https://www.cnblogs.com/clover-siyecao/p/5600078.html
In [1]: import redis In [2]: r = redis.StrictRedis(‘176.216.1.139‘,6379,0) In [3]: r.exists(‘book‘) Out[3]: 1 In [4]: r.exists(‘bok‘) Out[4]: 0
删除一个key,返回值1或0 In [5]: r.delete(‘dict‘) Out[5]: 1 In [6]: r.delete(‘dict‘) Out[6]: 0
In [7]: r.type(‘book‘) Out[7]: b‘list‘
keys(pattern)
获取所有符合规则的key,以列表形式返回库内所有的key.
In [8]: r.keys()
Out[8]:
[b‘book:Sanguo‘,
b‘book.view‘,
b‘bok:Sanguo‘,
b‘book:Python‘,
b‘bok:Python‘,
b‘bok:Tangshi‘,
b‘foo‘,
b‘book‘,
b‘book:Tangshi‘]
In [9]: r.keys(‘book:*‘)
Out[9]: [b‘book:Sanguo‘, b‘book:Python‘, b‘book:Tangshi‘]
In [10]: r.randomkey() Out[10]: b‘book:Sanguo‘ In [11]: r.randomkey() Out[11]: b‘bok:Tangshi‘
In [15]: r.rename(‘dict‘,‘dictt‘) Out[15]: True
In [23]: r.dbsize() Out[23]: 10
In [27]: r.expire(‘dictt‘,300) Out[27]: True
In [28]: r.ttl(‘dictt‘) Out[28]: 247 In [29]: r.ttl(‘dict‘) Out[29]: -2 In [30]: r.ttl(‘book‘) Out[30]: -1
In [31]: r.move(‘dictt‘,1) Out[31]: False In [32]: r.move(‘foo‘,1) Out[32]: True
flushdb()
删除删除当前选择数据库中的所有key,成功返回True
flushall()
删除所有数据库中的所有key,成功返回True
In [33]: r.set(‘foo‘,‘春江潮水连海平‘) Out[33]: True
In [35]: r.get(‘foo‘) Out[35]: b‘\xe6\x98\xa5\xe6\xb1\x9f\xe6\xbd\xae\xe6 \xb0\xb4\xe8\xbf\x9e\xe6\xb5\xb7\xe5\xb9\xb3‘ In [36]: r.get(‘foo‘).decode() Out[36]: ‘春江潮水连海平
In [39]: r.getset(‘foo‘,‘海上明月共潮生‘).decode() Out[39]: ‘春江潮水连海平‘ In [40]: r.get(‘foo‘).decode() Out[40]: ‘海上明月共潮生‘
In [41]: r.set(‘bar‘,‘滟滟随波千万里‘) Out[41]: True In [42]: r.mget(‘foo‘,‘bar‘) Out[42]: [b‘\xe6\xb5\xb7\xe4\xb8\x8a\xe6\x98\x8e\xe6\x9c\x88 \xe5\x85\xb1\xe6\xbd\xae\xe7\x94\x9f‘, b‘\xe6\xbb\x9f\xe6\xbb\x9f\xe9\x9a\x8f\xe6\xb3\xa2 \xe5\x8d\x83\xe4\xb8\x87\xe9\x87\x8c‘]
In [44]: r.setnx(‘foo‘,‘何处春江无月明‘) Out[44]: False
In [60]: r.set(‘fred‘,‘book‘) Out[60]: True In [61]: r.setrange(‘fred‘,4,‘Sanguo‘) Out[61]: 10
In [45]: r.mset({‘foo‘:‘good‘,‘bar‘:‘book‘,‘baz‘:‘look‘}) Out[45]: True
msetnx(mapping)
key均不存在时才批量赋值
In [48]: r.incr(‘count‘,100) Out[48]: 100 n [52]: r.incr(‘count‘) Out[52]: 101 In [53]: r.incr(‘count‘) Out[53]: 102
In [57]: r.set(‘foo‘,‘0123‘) Out[57]: True In [58]: r.append(‘foo‘,‘456‘) Out[58]: 7
In [65]: r.substr(‘foo‘,0,-1) Out[65]: b‘0123456‘
In [63]: r.getrange(‘fred‘,0,-1) Out[63]: b‘bookSanguo‘
In [66]: r.rpush(‘lst‘,0,1,2,3) Out[66]: 4
In [67]: r.lpush(‘lst‘,-2,-1) Out[67]: 6
In [68]: r.llen(‘lst‘) Out[68]: 6
In [69]: r.lrange(‘lst‘,0,-1) Out[69]: [b‘-1‘, b‘-2‘, b‘0‘, b‘1‘, b‘2‘, b‘3‘]
In [70]: r.ltrim(‘lst‘,3,-1) Out[70]: True
In [72]: r.lindex(‘lst‘,-1) Out[72]: b‘3‘
In [73]: r.lset(‘lst‘,0,0) Out[73]: True
In [74]: r.lrem(‘lst‘,1,3) Out[74]: 1
In [75]: r.lpop(‘lst‘) Out[75]: b‘0‘
In [76]: r.rpop(‘lst‘) Out[76]: b‘2‘
brpop(keys, timeout=0)
返回并删除key为name的list中的尾元素,如果list为空,
则会一直阻塞等待
In [82]: r.rpoplpush(‘lst‘,‘book‘) Out[82]: b‘1‘ In [83]: r.lrange(‘book‘,0,-1) Out[83]: [b‘1‘, b‘Python‘, b‘Tangshi‘, b‘Sanguo‘]
In [84]: r.sadd(‘set‘,0,1,2,10,520,1314) Out[84]: 6
In [88]: r.srem(‘set‘,0) Out[88]: 1
In [89]: r.spop(‘set‘) Out[89]: b‘1314‘
In [90]: r.smove(‘set‘,‘gather‘,1) Out[90]: True
In [91]: r.scard(‘gather‘) Out[91]: 1
In [92]: r.sismember(‘set‘,1314) Out[92]: False
In [93]: r.sadd(‘gather‘,2,520,1314) Out[93]: 3 In [94]: r.sinter(‘set‘,‘gather‘) Out[94]: {b‘2‘, b‘520‘}
In [95]: r.sinterstore(‘collection‘,‘set‘,‘gather‘) Out[95]: 2
sunion(keys, *args)
返回所有给定key的set的并集
sunionstore(dest, keys, *args)
求并集并将并集保存到dest的集合
sdiff(keys, *args)
返回所有给定key的set的差集
sdiffstore(dest, keys, *args)
求差集并将差集保存到dest的集合
In [96]: r.smembers(‘collection‘) Out[96]: {b‘2‘, b‘520‘}
In [97]: r.srandmember(‘collection‘) Out[97]: b‘2‘
In [9]: r.zadd(‘grade‘,{‘Bob‘:80,‘Mike‘:61}) Out[9]: 2
In [11]: r.zrem(‘grade‘,‘Bob‘) Out[11]: 1
In [12]: r.zincrby(‘garde‘,9,‘Mike‘) Out[12]: 9.0
In [14]: r.zrank(‘grade‘,‘Mike‘) Out[14]: 0
In [15]: r.zrevrank(‘grade‘,‘Mike‘) Out[15]: 1
In [18]: r.zrevrange(‘grade‘,0,-1) Out[18]: [b‘Joy‘, b‘Mike‘] In [19]: r.zrevrange(‘grade‘,0,-1,True) Out[19]: [(b‘Joy‘, 100.0), (b‘Mike‘, 61.0)]
In [21]: r.zadd(‘grade‘,{‘Bob‘:80,‘Tom‘:59,‘Alice‘:89}) Out[21]: 3 In [22]: r.zrangebyscore(‘grade‘,60,90,withscores=True) Out[22]: [(b‘Mike‘, 61.0), (b‘Bob‘, 80.0), (b‘Alice‘, 89.0)]
In [25]: r.zcount(‘grade‘,60,90) Out[25]: 3
zcard(name)
返回key为name的zset的元素个数
In [26]: r.zcard(‘grade‘) Out[26]: 5
zremrangebyrank(name, min, max)
删除key为name的zset中排名在给定区间的元素
zremrangebyscore(name, min, max)
删除key为name的zset中score在给定区间的元素
hset(name, key, value)
向key为name的hash中添加映射
In [27]: r.hset(‘car‘,‘color‘,‘red‘) Out[27]: 1
hsetnx(name, key, value)
向key为name的hash中添加映射,如果映射键名不存在.
In [28]: r.hsetnx(‘car‘,‘color‘,‘black‘) Out[28]: 0 In [29]: r.hsetnx(‘car‘,‘price‘,200000) Out[29]: 1
hget(name, key)
返回key为name的hash中field对应的value
In [30]: r.hget(‘car‘,‘color‘) Out[30]: b‘red‘
hmget(name, keys, *args)
返回key为name的hash中各个键对应的value
In [31]: r.hmget(‘car‘,(‘color‘,‘price‘)) Out[31]: [b‘red‘, b‘200000‘]
hmset(name, mapping)
向key为name的hash中批量添加映射
In [33]: r.hmset(‘car‘,{‘name‘:‘BWM‘,‘origin‘:‘Germany‘}) Out[33]: True
hincrby(name, key, amount=1)
将key为name的hash中映射的value增加amount
In [38]: r.hincrby(‘car‘,‘price‘,2) Out[38]: 200002 In [39]: r.hincrby(‘car‘,‘price‘) Out[39]: 200003
hexists(name, key)
key为namehash中是否存在键名为key的映射
In [41]: r.hexists(‘car‘,‘color‘) Out[41]: True
hdel(name, *keys)
key为namehash中删除键名为key的映射
In [42]: r.hdel(‘car‘,‘origin‘) Out[42]: 1
hlen(name)
从key为name的hash中获取映射个数
In [43]: r.hlen(‘car‘) Out[43]: 3
hkeys(name)
从key为name的hash中获取所有映射键名
In [44]: r.hkeys(‘car‘) Out[44]: [b‘color‘, b‘price‘, b‘name‘]
hvals(name)
从key为name的hash中获取所有映射键值
In [45]: r.hvals(‘car‘) Out[45]: [b‘red‘, b‘200004‘, b‘BWM‘]
hgetall(name)
从key为name的hash中获取所有映射键值对
In [46]: r.hgetall(‘car‘) Out[46]: {b‘color‘: b‘red‘, b‘name‘: b‘BWM‘, b‘price‘: b‘200004‘}
原文:https://www.cnblogs.com/wangbaby/p/10207291.html