- SET: 为指定的键(key)设置值(value), set(self, name, value, **kwargs)。
- GET:获取指定键(key)绑定的值(value),get(self, name)。
- GETSET:为指定的键(key)设置新的值(value),并返回旧的值(old Value),getset(self, name, value)
- SETEX:为指定的键(key)设置过期以秒(second)计的过期时间,setex(self, name, value, time)
- SETNX:键(key)不存在时,为键(key)指定值(value),setnx(self, name, value)
- MSET:一次性设置多个键-值(key-value)对,函数设置的键-值对(即mapping所指内容)数据要以Python字典数据类型传入,mset(self, mapping)
- MSETNX:键-值(key-value)对不存在时,设置键-值(key-value)对,msetnx(self, mapping),mapping值参考6
- INCR:自增函数,默认步长为1,通过对步长(amount)大小以及字符的控制实现了INCRBY(amount>=1)、DECR(amount=-1)、DECRBY(amount<=-1)等函数功能,incr(self, name, amount=1)
- APPEND:为指定的字符串追加值,若不存在则直接创建,append(self, key, value)
- SETRANGE:用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始,setrange(self, name, offset, value)
- STRLEN:返回字符串的长度,当name不存在时返回0,strlen(self, name)
示例代码如下:
1 pool = redis.ConnectionPool(host=‘127.0.0.1‘, port=6379) 2 r = redis.Redis(connection_pool=pool) 3 r.flushall() # 清空Redis 4 5 r.setex(‘name‘, value=‘liaogx‘, time=2) # 设置新值,过期时间为3s 6 r.mset(k1 = ‘v1‘, k2 = ‘v2‘, k3 = ‘v3‘) # 批量设置新值 7 print(r.mget(‘k1‘, ‘k2‘, ‘k3‘, ‘k4‘)) # 批量获取新值 8 print(r.getset(‘name‘, ‘liaogaoxiang‘)) # 设置新值并获取原来的值 9 print(r.getrange(‘name‘, 0, 1)) # 获取子序列 0 <= x <= 1 10 r.setrange(‘name‘, 0, ‘LIAO‘) # 修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加),返回值的长度 11 i = 0 12 while i < 4: 13 print(r.get(‘name‘)) 14 time.sleep(1) 15 i += 1 16 source = ‘foo‘ 17 r.set(‘n1‘, source) 18 r.setbit(‘n1‘, 7, 1) 19 ‘‘‘ 20 注:如果在Redis中有一个对应: n1 = "foo", 21 那么字符串foo的二进制表示为:01100110 01101111 01101111 22 所以,如果执行 setbit(‘n1‘, 7, 1),则就会将第7位设置为1, 23 那么最终二进制则变成 01100111 01101111 01101111,即:"goo" 24 ‘‘‘ 25 print(r.get(‘n1‘)) 26 print(r.getbit(‘n1‘, 7)) # 获取n1对应的值的二进制表示中的某位的值 (0或1) 27 r.set(‘n2‘, ‘廖高祥‘) 28 print(r.strlen(‘n2‘)) # 返回对应的字节长度(一个汉字3个字节) 29 r.set(‘num‘, 1) 30 r.incr(‘num‘, amount=10) 31 r.decr(‘num‘, amount=1) 32 print(r.get(‘num‘)) # 自增num对应的值,当name不存在时,则创建name=amount,否则,则自增。 33 r.append(‘num‘, 111) 34 print(r.get(‘num‘)) # 在redis num对应的值后面追加内容