Redis in Python: Redis 键(key)相关函数简介
2017-05-27 19:00
429 查看
本文简单介绍了key相关函数操作。
为了简单起见,下面出现的代码都省略了上面的两句代码,测试的时候请自行加上。
默认返回所有键:
星号参数:
问号参数:
参数为datetime:
参数为时间戳:
使用参考expire。
参数为datetime:
参数为时间戳:
import redis r = redis.Redis()
为了简单起见,下面出现的代码都省略了上面的两句代码,测试的时候请自行加上。
0.keys
返回给定模式的键名, 模式参数pattern中星号*表示任意字母,问号?表示一个字母。默认返回所有键:
>>> r.keys() [b'newname', b'addr', b'add', b'ax', b'id', b'axxx', b'age'] >>>
星号参数:
>>> r.keys() [b'newname', b'addr', b'add', b'ax', b'id', b'axxx', b'age'] >>>r.keys(pattern='a*') # 返回所有a开头的键名
[b'addr', b'add', b'ax', b'axxx', b'age']
>>>
问号参数:
>>> r.keys() [b'newname', b'addr', b'add', b'ax', b'id', b'axxx', b'age'] >>>r.keys(pattern='a?') # 返回两个字母的以a开头的键名
[b'ax']
>>>
1.delete
该命令用于在 key 存在时删除 key,删除成功返回1,失败返回0.>>> r.keys() [b'test', b'newname', b'addr', b'id', b'age'] >>> r.delete('test') 1 >>> r.delete('foo') 0 >>> r.keys() [b'newname', b'addr', b'id', b'age'] >>>
2.exists
测试 key 是否存在,存在返回True, 否则返回False。>>> r.keys() [b'newname', b'addr', b'id', b'age'] >>> r.exists('foo') False >>> r.exists('id') True >>>
3.dump
序列化给定 key ,如果key存在则返回序列化后的值,否则返回None。>>> r.keys() [b'newname', b'addr', b'add', b'id', b'age', b'score'] >>> r.dump('foo') >>> r.dump('score') b'\x00\xc0Z\x07\x00\xe6\x8c\xcdc\xa9,\x8c\xbc' >>>
4. expire
设置key过期时间, 单位为秒;设置成功返回True,失败返回False。>>> import time >>> r.keys() [b'newname', b'addr', b'add', b'id', b'age', b'score'] >>> r.expire('score', 10) True >>> time.sleep(10) >>> r.keys() [b'newname', b'addr', b'add', b'id', b'age'] >>>
5.expireat
expireat 的作用和 expire 类似,都用于为 key 设置过期时间。 不同在于expireat 命令接受的时间参数是 时间戳或者datetime。参数为datetime:
>>> import datetime >>> r.keys() [b'newname', b'addr', b'add', b'id', b'age'] >>> t = datetime.datetime(2017, 5, 27, 20, 21, 0, 0) >>> r.expireat('age', t) True >>> datetime.datetime.now() datetime.datetime(2017, 5, 27, 20, 22, 13, 854846) >>> r.keys() [b'newname', b'addr', b'add', b'id'] >>>
参数为时间戳:
>>> import time >>> r.keys() [b'newname', b'addr', b'add', b'id', b'age'] >>> t = int(time.time()) >>> t = t + 20 >>> r.expireat('age', t) True >>> time.sleep(20) >>> r.keys() [b'newname', b'addr', b'add', b'id'] >>>
6.pexpire
设置 key 的过期时间单位为毫秒。使用参考expire。
7.pexpireat
设置 key 过期时间,参数为毫秒时间戳或者datetime。参数为datetime:
>>> import datetime >>> r.keys() [b'newname', b'addr', b'add', b'id', b'age'] >>> t = datetime.datetime(2017, 5, 27, 20, 53, 0, 0) >>> r.pexpireat('age', t) 1 >>> datetime.datetime.now() datetime.datetime(2017, 5, 27, 20, 56, 0, 417900) >>> r.keys() [b'newname', b'addr', b'add', b'id'] >>>
参数为时间戳:
>>> import time >>> r.keys() [b'newname', b'addr', b'add', b'id', b'age'] >>> t = time.time() >>> t = t + 20 # 20秒后无效 >>> t = int(t * 1000) # 转换为毫秒 >>> r.pexpireat('age', t) 1 >>> time.sleep(20) >>> r.keys() [b'newname', b'addr', b'add', b'id'] >>>
8.move
将当前数据库的 key 移动到给定的数据库 db 当中。9.persist
移除 key 的过期时间,key 将持久保持。>>> import time >>> r.keys() [b'newax', b'newname', b'addr', b'add', b'age', b'axxx'] >>> r.expire('age', 10) True >>> r.persist('age') True >>> time.sleep(10) >>> r.keys() [b'newax', b'newname', b'addr', b'add', b'age', b'axxx'] >>>
10. pttl
以毫秒为单位返回 key 的剩余的过期时间。>>> r.keys() [b'newax', b'newname', b'addr', b'add', b'axxx', b'age'] >>> r.expire('age', 100) True >>> r.pttl('age') 94170 >>>
11.ttl
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。>>> r.keys() [b'newax', b'newname', b'addr', b'add', b'axxx', b'age'] >>> r.expire('age', 100) True >>> r.ttl('age') 89 >>>
12.randomkey
从当前数据库中随机返回一个 key 。>>> r.keys() [b'newax', b'newname', b'addr', b'add', b'axxx', b'age'] >>> r.randomkey() b'newname' >>>
13. rename(src, dst)
把键名src修改为dst,如果dst键已经存在了,修改后dst的值会变成src的值,原来的dst的值会丢失。>>> r.keys() [b'newname', b'addr', b'add', b'ax', b'id', b'axxx', b'age'] >>>r.rename('id', 'newid')
True
>>> r.keys()
[b'newname', b'addr', b'add', b'ax', b'newid', b'axxx', b'age']
>>>
14.renamenx(src, dst)
仅当 dst不存在时,将 src 改名为dst,否则不修改。>>> r.keys() [b'newname', b'addr', b'add', b'ax', b'axxx', b'age'] >>> r.renamenx('ax', 'add') # add键已经存在了,修改失败返回False False >>> r.keys() [b'newname', b'addr', b'add', b'ax', b'axxx', b'age'] >>> r.renamenx('ax', 'newax') # newax键不存在,修改成功 True >>> r.keys() [b'newax', b'newname', b'addr', b'add', b'axxx', b'age'] >>>
15.type
返回 key 所储存的值的类型。>>> r.keys() [b'newname', b'addr', b'add', b'ax', b'id', b'axxx', b'age'] >>>r.type('age')
b'string'
>>>
相关文章推荐
- Redis系列-key相关主要操作函数
- Redis系列-key相关主要操作函数
- Python 关于集合的方法函数和相关模块(利于做排重)
- oracle中正则表达式相关函数regexp_like简介
- Python time 函数time.strftime()简介
- python in 的相关知识
- Python中如何避免使用多个分支语句(多个if和else)——函数字典(Function Map)简介
- Wonderful String Translation Function in Python / Python神奇的字符串变换函数
- CDays-3 习题一 (处理命令行参数)及相关内容解析。Python getopt 简介
- Redis快速入门:Key-Value存储系统简介
- Redis 一个key-value存储系统 简介
- python 文件相关函数
- 字符设备驱动相关函数及数据结构简介 (ldd3)
- python 内建函数详解及相关示例
- C调用Python函数相关代码示例剖析
- Redis快速入门:Key-Value存储系统简介
- oracle中正则表达式相关函数regexp_like简介
- Pyke 简介 (3) :调制 Python 函数
- 部分Dojo常用函数简介(三)——页面生命周期及DOM相关常用函数
- TSD相关的 4 个函数: pthread_key_create(); pthread_key_delete(); pthread_getspecific(); pthread_sets