Python 操作 Redis
字符串 String
#!/usr/bin/python3 # -*- coding: utf-8 -*- # __author__ = 'Xin' import redis pool = redis.ConnectionPool(host='119.28.9.229', port=6379) r = redis.Redis(connection_pool=pool) r.flushall() # 设置新值,过期时间5s r.setex('name', value='xin', time=5) # 批量设置新值 r.mset(k1='v1', k2='v2', k3='v3') # 批量获取值 print(r.mget('k1', 'k2', 'k3')) # 设置新值并返回原来的值 print(r.getset('name', 'hao')) # 获取子序列(0<=x<=1) print(r.getrange('name', 0, 1)) # 修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加),返回值的长度 r.setrange('name', 0, 'ye') source = 'foo' r.set('n1', source) r.setbit('n1', 7, 1) ''' 注:如果在Redis中有一个对应: n1 = "foo", 那么字符串foo的二进制表示为:01100110 01101111 01101111 所以,如果执行 setbit('n1', 7, 1),则就会将第7位设置为1, 那么最终二进制则变成 01100111 01101111 01101111,即:"goo" ''' print(r.get('n1')) # 获取n1对应的值的二进制表示中的某位的值 (0或1) print(r.getbit('n1', 7)) r.set('n2', '汉字char') # 返回对应的字节长度(一个汉字3个字节) print(r.strlen('n2')) r.set('num', 1) # 自增,步长为10 r.incr('num', amount=10) # 自减,步长为1 r.decr('num', amount=1) # 自增num对应的值,当name不存在时,则创建name=amount,否则,则自增。 print(r.get('num')) # 在redis num对应的值后面追加内容 r.append('num', 111) print(r.get('num')) 结果: [b'v1', b'v2', b'v3'] b'xin' b'ha' b'goo' 1 10 b'10' b'10111'
列表 List
集合 sets
有序集合 sorted sets
哈希 hashes
Last updated