redis对 key 的通用操作

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指定为永久有效
posted @ 2020-04-26 14:50  sha_ka  阅读(123)  评论(0编辑  收藏  举报