上文讲了Linux客户端下,redis string的各种操作。老规矩参照这上一篇,用python客户端实现一下。
from redis import Redis
if __name__ == '__main__':
client = Redis(host='192.168.174.129', port=6666, decode_responses=True)
try:
client.set('a', 1)
print(client.get('a')) # 1
print(client.incr('a')) # 2
print(client.incrby('a', 6)) # 8
print(client.decr('a')) # 7
print(client.decrby('a', 2)) # 5
print(client.incrbyfloat('a', 0.5)) # 5.5
print(client.setnx('a', 5)) # False
print(client.set('a', 5, xx=True)) # True
print(client.getset('a', 'abc')) # 5
print(client.get('a')) # abc
print(client.append('a', 'defg')) # 7
print(client.get('a')) # abcdefg
print(client.strlen('a')) # 7
print(client.getrange('a', 2, 4)) # cde
print(client.setrange('a', 4, '6')) # 7
print(client.get('a')) # abcd6fg
print(client.setrange('a', 5, '7890')) # 9
print(client.get('a')) # abcd67890
d = dict(zip(['a', 'b', 'c'], [1, 2, 3]))
print(client.mset(d)) # True
print(client.mget(['a', 'b', 'c'])) # ['1', '2', '3']
print(client.mget(['a', 'b', 'c', 'd'])) # ['1', '2', '3', None]
print(client.mget(('a', 'b', 'c', 'd'))) # ['1', '2', '3', None]
# mget的参数 可以是可迭代对象,也可以是 args
# 但是,当参数是set时,取出来的值也是随机乱序的
print(client.mget({'a', 'b', 'c', 'd'})) # ['3', '1', '2', None]
print(client.msetnx({'a': 10, 'd': 20})) # False
# 不存在才设置,字典中有存在的键,都会失败
print(client.mget('a', 'b', 'c', 'd')) # ['1', '2', '3', None]
except Exception as e:
print(e)
finally:
client.close()