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指定为永久有效