python操作redis之String操作

# __author__ = 'STEVEN'
import redis,time
# 方式1,直接链接操作
# r = redis.Redis(host='192.168.43.22',port=6379)
# r.set('name','lisi')
# print(r.get('name').decode())

# 方式2,创建进程池
poll = redis.ConnectionPool(host= '192.168.43.22',port=6379)
#选择进程池
r = redis.Redis(connection_pool=poll)
# #set()实现定义字符串名成,值,过期时间(ex[s],ps[ms],nx[True时如果不存在就新建],xx[True时如果存在就覆盖他)
# r.set('age','20',ex=2)
# print(r.get('age').decode())
# time.sleep(2)
# print((r.get('age').decode()) if r.get('age')!= None else 'none')

# nx[True时如果不存在就新建],存在也不更改
# r.set('name','lisi',nx=True)
# print(r.get('name'))

# xx[True时如果存在就覆盖他],不存在也不新建
# r.set('name','man',xx=True)
# print(r.get('name'))

#setnx()如果 key 已经存在,返回 False
# print(r.setnx('name2','huhu'))
# print(r.get('name2'))

#setex()设置 key 对应的值为 string 类型的 value,并指定此键值对应的有效期
# r.setex('age1','23',10)
# print(r.get('age1'))
# time.sleep(10)
# print(r.get('age1'))

# setrange()设置指定 key 的 value 值的子字符串
# r.set('name','man')
# r.setrange('name',1,'e')
# print(r.get('name'))

# mset()一次设置多个 key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置。
# r.mset({'mes1':'nihao','mes2':'woyehao'})
# print(r.mget(['mes1','mes2']))

# msetnx()一次设置多个 key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置,但是不会覆盖已经存在的 key。
#都不存在时新建
# print(r.msetnx({'mes11':'nihao','mes21':'woyehao1'}))
# print(r.mget(['mes11', 'mes21']))

# getset()设置 key 的值,并返回 key 的旧值
# print(r.getset('mes11','nihaoma'))
# print(r.get('mes11'))

# getrange()获取指定 key 的 value 值的子字符串。
# print(r.getrange('mes11',1,3))

# incr()对 key 的值做加加操作,并返回新的值。注意 incr 一个不是 int 的 value 会返回错误,incr 一个不存在的 key,则设置 key 为 1
# print(r.incr('ids'))

# incrby()同 incr 类似,加指定值 ,key 不存在时候会设置 key,并认为原来的 value 是 0
# print(r.incrby('ids',3))

# decr()对 key 的值做的是减减操作,decr 一个不存在 key,则设置 key 为-1
# print(r.decr('lib'))


# append()给指定 key 的字符串值追加 value,返回新字符串值的长度
# print(r.append('mes11','123'))
# print(r.get('mes11'))

# strlen()取指定 key 的 value 值的长度
# r.set('info','1234')
# print(r.strlen('info'))

  

原文地址:https://www.cnblogs.com/g177w/p/8185284.html