Redis通用操作(适用于String,Hash,链表等)

keys pattern 查询相应的key
在redis里,允许模糊查询key
有3个通配符 *, ? ,[]
*: 通配任意多个字符
?: 通配单个字符
[]: 通配括号内的某1个字符
redis 127.0.0.1:6379> flushdb
OK
redis 127.0.0.1:6379> keys *//查所有
(empty list or set)
redis 127.0.0.1:6379> mset one 1 two 2 three 3 four 4
OK
redis 127.0.0.1:6379> keys o*
1) "one"
redis 127.0.0.1:6379> keys *o
1) "two"
redis 127.0.0.1:6379> keys ???
1) "one"
2) "two"
redis 127.0.0.1:6379> keys on?
1) "one"
redis 127.0.0.1:6379> set ons yes
OK
redis 127.0.0.1:6379> keys on[eaw]
1) "one"
randomkey 返回随机key(抽奖,哈哈)
redis 127.0.0.1:6379> randomkey
"three"
type key
返回key存储的值的类型
有string,link,set,order set, hash
redis 127.0.0.1:6379> type one
string
exists key
判断key是否存在,返回1/0
redis 127.0.0.1:6379> exists one
(integer) 1
redis 127.0.0.1:6379> exists five
(integer) 0
del key1 key2 ... Keyn
作用: 删除1个或多个键
返回值: 不存在的key忽略掉,返回真正删除的key的数量
redis 127.0.0.1:6379> del one
(integer) 1
rename key newkey
作用: 给key赋一个新的key名
注:如果newkey已存在,则newkey的原值被覆盖
redis 127.0.0.1:6379> rename two ttt
OK
redis 127.0.0.1:6379> exists two
(integer) 0
redis 127.0.0.1:6379> exists ttt
(integer) 1redis 127.0.0.1:6379> set site "www.baidu.com"OKredis 127.0.0.1:6379> set search "www.sohu.com"OKredis 127.0.0.1:6379> rename site searchOKredis 127.0.0.1:6379> get search"www.baidu.com"-------search原来的值被覆盖
renamenx key newkey
作用: 把key改名为newkey
返回: 发生修改返回1,未发生修改返回0
注: nx--> not exists, 即, newkey不存在时,作改名动作

newkey不存在,改,存在,不改
# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
redis默认开启了16个数据库,编号0-15,首先使用0号数据库
redis 127.0.0.1:6379> keys *
1) "site"
redis 127.0.0.1:6379> select 1
OK
redis 127.0.0.1:6379[1]> keys *
(empty list or set)
redis 127.0.0.1:6379[1]> select 0
OK
redis 127.0.0.1:6379> keys *
1) "site"

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

(注意: 一个redis进程,打开了不止一个数据库, 默认打开16个数据库,从0到15编号,如果想打开更多数据库,可以从配置文件修改)

move key db
redis 127.0.0.1:6379> keys *
1) "site"
2) "search"
redis 127.0.0.1:6379> move site 1
(integer) 1
redis 127.0.0.1:6379> keys *
1) "search"
redis 127.0.0.1:6379> select 1
OK
redis 127.0.0.1:6379[1]> keys *
1) "site"
ttl key
作用: 查询key的生命周期
返回: 秒数
注:对于不存在的key或已过期的key/不过期的key,都返回-1
Redis2.8中,对于不存在的key,返回-2
redis 127.0.0.1:6379> ttl search
(integer) -1
expire key 整型值
作用: 设置key的生命周期,以秒为单位
同理:
pexpire key 毫秒数, 设置生命周期
pttl  key, 以毫秒返回生命周期
redis 127.0.0.1:6379> ttl search
(integer) -1
redis 127.0.0.1:6379> expire search 5
(integer) 1
redis 127.0.0.1:6379> get search
"www.google.com"
redis 127.0.0.1:6379> get search
(nil)
redis 127.0.0.1:6379> ttl search
(integer) -1
persist key
作用: 把指定key置为永久有效
redis 127.0.0.1:6379> persist site
(integer) 0
上一篇:信息学奥赛一本通 1118:铺地毯 视频题解


下一篇:1118 Birds in Forest (25分) / 并查集