键操作

键的一些判断和操作方法

方法作用参数说明实例实例说明实例结果
exists(name)判断一个键是否存在name:键名redis.exists('name')是否存在name这个键True
delete(name)删除一个键name:键名redis.delete('name')删除name这个键1
type(name)判断键类型name:键名redis.type('name')判断name这个键的类型b'string'
keys(pattern)获取所有符合规则的键pattern:匹配规则redis.keys('n*')获取所有以n为开头的键[b'name']
randomkey()获取随机的一个键<br/>randomkey()获取随机的一个键b'name'
rename(src, dst)对键重命名src:原键名 dst:新键名redis.rename('name', 'nickname')将name重命名为nicknameTrue
dbsize()获取当前数据库中键的数目<br/>dbsize()获取当前数据库中键的数目100
expire(name, time)设定键的过期时间, 单位为秒name:键名 time:秒数redis.expire('name', 2)将name键的过期时间设置为2秒True
ttl(name)获取键的过期时间, 单位为秒name:键名redis.ttl('name')获取name这个键的过期时间1(1表示永不过期)
move(name, db)将键移动到其他数据库name:键名 db:其他数据库move('name', 2)将name键移动到2号数据库True
flushdb()删除当前所选数据库中的所有键<br/>flushdb()删除当前所选数据库中的所有键True
flushall()删除所有数据库中的所有键<br/>flushall()删除所有数据库中的所有键True
  • 字符串操作

键值对存储的相关方法

方法作用参数说明实例实例说明实例结果
set(name, value)将数据库中指定键名对应的键值赋值为字符串valuename: 键名value: 值redis.set('name','Bob')将name这个键对应的键值赋值为BobTrue
get(name)返回数据库中指定键名对应的键值name:键名redis.get('name')返回name这个键对应的键值b'Bob'
getset(name,value)将数据库中指定键名对应的键值赋值为字符串value,并返回上次的valuename:键名value:新值redis.getset('name', 'Mike')将name这个键对应的键值赋值为Mike,并返回上次的valueb'Bob'
mget(keys, *args)返回由多个键名对应的value组成的列表keys: 键名序列redis.mget(['name', 'nickname'])返回name和nickname对应的value[b'Mike', b'Miker']
setnx(name, value)如果不存在指定的键值对,则更新value,否则保持不更新name:键名redis.setnx('newname', 'James')如果不存在newname这个键名,则设置相应键值对,对应键值为James第一次运行结果True,第二次运行结果False
setex(name, time, value)设置键名对应的键值为字符串类型的value,并指定此键值的有效期name:键名time:有效期value:值redis.setex('name', 1, 'James')将name这个键的值设置为James,有效期设置为1秒True
setrange(name, offset, value)设置指定键名对应的键值的子字符串name:键名offset:偏移量value:子字符串redis.set('name', 'Hello')redis.setrange('name', 6, 'World')将name这个键对应的键值赋值为Hello,并在该键值中index为6的位置补充World11, 修改后的字符串长度
mset(mapping)批量赋值mapping: 字典或关键字参数redis.mset({'name1': 'Durant', 'name2': 'James'})将name1赋值为Durent,name2赋值为JamesTrue
msetnx(mapping)指定键名均不存在时,才批量赋值mapping: 字典或关键字参数redis.mset({'name3': 'Smith', 'name4': 'Curry'})在name3和name4均不存在的情况下,才为二者赋值True
incr(name, amount=1)对指定键名对应的键值做增值操作,默认增1。如果指定键名不存在,则创建一个,并将键值设置为amountname: 键名amount: 增加的值redis.incr('age', 1)将age对应的键值增加1。 如果不存在age这个键名, 则创建一个,并设置键值为11, 即修改后的值
decr(name, amount=1)对指定键名对应的键值做减值操作,默认减1。如果指定键名不存在,则创建一个,并将键值设置为amountname: 键名amount: 减少的值redis.decr('age', 1)将age对应的键值减1。 如果不存在age这个键名, 则创建一个,并设置键值为11, 即修改后的值
append(key, value)对指定键名对应的键值附加字符串valuekey:键名redis.append('nickname', 'OK')在键名nickname对应的键值后面追加字符串OK13, 即修改后的字符串长度
substr(name, start, end=-1)返回指定键名对应的键值的子字符串name:键名start:起始索引end:终止索引,默认为1表示截取到末尾redis。substr('name', 1, 4)返回键名name对应的键值的子字符串,截取键值字符串中索引为1~4的字符b'ello'
getrange(key, start, end)获取指定键名对应的键值中从start到end位置的子字符串key:键名start:起始索引end终止索引redis.getrange('name', 1, 4)返回键名name对应的键值的子字符串,截取键值字符串中索引为1~4的字符b'ello'
最后修改:2022 年 04 月 18 日
如果觉得我的文章对你有用,请随意赞赏