首页 > 其他 > 详细

redis对 key 的通用操作

时间:2020-04-26 15:11:14      阅读:43      评论:0      收藏:0      [点我收藏+]

redis 学习

对 key 的通用操作

查看所有的 key

keys *

用正则表达式

keys [pattern]
例:
keys [si?e]

随机返回一个已有的key:randomkey

randomkey

以上代码示例:

127.0.0.1:6379> set site www.zixue.it
OK
127.0.0.1:6379> set age 29
OK
127.0.0.1:6379> keys *
1) "site"
2) "age"
127.0.0.1:6379> keys si*
1) "site"
127.0.0.1:6379> randomkey
"age"
127.0.0.1:6379> randomkey
"site"

查看 key 所对应 value 的值

type key
例:
type site

查看 key 是否存在

exists key
例:
exists age

删除一个 key

del key
例:
del site

上述代码示例:

127.0.0.1:6379> type age
string
127.0.0.1:6379> exists site
(integer) 1
127.0.0.1:6379> del site
(integer) 1
127.0.0.1:6379> exists site
(integer) 0
127.0.0.1:6379> keys *
1) "age"

重命名 key

rename 原始key 新的key
例如:
rename site wangzhi

重命名 key , 前提是新的 key 不存在(修改后的key 不能和数据库中其它key 冲突)

renamenx 原始key 新的key   # renamenx  =  raname not exist
例如:
rename wangzhi site

上述代码示例:

127.0.0.1:6379> set site www.baidu.com
OK
127.0.0.1:6379> rename site wangzhi  # 会覆盖存在的key
OK
127.0.0.1:6379> keys *
1) "wangzhi"
2) "age"


127.0.0.1:6379> keys *
1) "site"
2) "search"
3) "age"
127.0.0.1:6379> renamenx site age
(integer) 0   # 没有修改成功
127.0.0.1:6379> keys *
1) "site"
2) "search"
3) "age"
127.0.0.1:6379> renamenx site sites
(integer) 1   # 修改成功
127.0.0.1:6379> keys *
1) "search"
2) "age"
3) "sites"

数据库

默认有16 个数据库 在配置文件里边修改配置文件可以 增加或者减少数据库数量。

默认打开的数据库 是0号数据库

切换数据库

select 数字
如:
select 1  # 选择 1 号数据库
127.0.0.1:6379> keys *
1) "search"
2) "age"
3) "sites"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
(empty list or set)

将key移动到其他数据库

move key 数据库序号
例如:
move site 1
127.0.0.1:6379> keys *
1) "search"
2) "age"
3) "sites"
127.0.0.1:6379> move search 1  # 将 search 从 0 号数据库移动到 1 号数据库
(integer) 1
127.0.0.1:6379> keys *
1) "age"
2) "sites"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "search"

查询 key 的过期时间

ttl key   # key 不存在也可以
例如:
ttl site  # 返回值是 秒数 s 为单位
127.0.0.1:6379> keys *
1) "age"
2) "sites"
127.0.0.1:6379> ttl age
(integer) -1   # 返回值是 -1 表示永久有效
127.0.0.1:6379> ttl dsaf
(integer) -2  #当 key 不存在/已过期时结果为 -2 (v2.8 以后到返回结果)

设置 key 过期时间

expire key seconds
例如:
expire sites 10
127.0.0.1:6379> expire sites 10
(integer) 1
127.0.0.1:6379> get sites
"www.site.com"   
#. 10s 后
127.0.0.1:6379> get sites
(nil)

如果有更加精确的要求可以在上面两者前边加上p

pttl site			# 返回值 以毫秒为单位
pexpire site 1000  # 以毫秒为单位

如果要设置 key 永久有效

persist key  # 将key指定为永久有效

redis对 key 的通用操作

原文:https://www.cnblogs.com/sha-ka/p/12779492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!