1.数据库说明
- Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享。
- Redis每个数据库对外都是一个从0开始的递增数字命名,Redis默认支持16个数据库(可以通过配置文件支持更多,无上限),可以通过配置databases来修改这一数字,客户端与Redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库,如要选择1号数据库:
select 1
- Redis不支持自定义数据库的名字,每个数据库都以编号命名,另外Redis也不支持为每个数据库设置不同的访问密码,所以一个客户端要么可以访问全部数据库,要么连一个数据库也没有权限访问。最重要的一点是多个数据库之间并不是完全隔离的.
2.key常用操作
(1) select n
选择编号为n的数据库
127.0.0.1:6379> select 0
OK
(2)dbsize
查看该数据库key的个数
127.0.0.1:6379> dbsize
(integer) 5
(3)keys *
查看该数据库所有key:
127.0.0.1:6379> keys *
1) "myhash"
2) "price"
3) "myname"
4) "city"
5) "fruitlist"
(4)exists key名
查看某个key是否存在:
127.0.0.1:6379> keys *
1) "myhash"
2) "price"
3) "myname"
4) "city"
5) "fruitlist"
127.0.0.1:6379> exists city
(integer) 1
127.0.0.1:6379> exists country
(integer) 0
(4)move key名 库编号
移动某条记录到另一个数据库
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> keys *
1) "myhash"
2) "price"
3) "myname"
4) "city"
5) "fruitlist"
127.0.0.1:6379> move price 1
(integer) 1
127.0.0.1:6379> SELECT 0
OK
127.0.0.1:6379> keys *
1) "myhash"
2) "myname"
3) "city"
4) "fruitlist"
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> keys *
1) "price"
(5)ttl key名
查询某个key还有多少秒过期
# -1 表示永不过期 ; -2 表示已经过期
127.0.0.1:6379> keys *
1) "myhash"
2) "myname"
3) "city"
4) "fruitlist"
127.0.0.1:6379> ttl city
(integer) -1
(6)expire key名 秒数
为某个键设置过期时间
#过期后key *不再能查询到该key
127.0.0.1:6379> keys *
1) "myhash"
2) "myname"
3) "city"
4) "fruitlist"
127.0.0.1:6379> expire city 10
(integer) 1
127.0.0.1:6379> ttl city
(integer) 4
127.0.0.1:6379> ttl city
(integer) -2
127.0.0.1:6379> get city
(nil)
127.0.0.1:6379> keys *
1) "myhash"
2) "myname"
3) "fruitlist"
(7)type key名
查看 key 的类型
127.0.0.1:6379> type myhash
hash
127.0.0.1:6379> type fruit
none
127.0.0.1:6379> type fruitlist
list
(8)重复传值的情况(会发生覆盖)
127.0.0.1:6379> set myage 10
OK
127.0.0.1:6379> get myage
"10"
127.0.0.1:6379> set myage 20
OK
127.0.0.1:6379> get myage
"20"
(9)DEL key名
删除key
127.0.0.1:6379> keys *
1) "myhash"
2) "myage"
3) "myname"
4) "fruitlist"
127.0.0.1:6379> del myage
(integer) 1
127.0.0.1:6379> keys *
1) "myhash"
2) "myname"
3) "fruitlist"
(10)randomkey 从当前数据库中随机返回一个key
127.0.0.1:6379> randomkey
"myhash"
127.0.0.1:6379> randomkey
"myname"
127.0.0.1:6379> randomkey
"fruitlist"
127.0.0.1:6379> randomkey
"fruitlist"
(11)
rename key newkey
将 key 改名为 newkey
renamenx key newkey
仅当 newkey 不存在时,将 key 改名为 newkey
127.0.0.1:6379> keys *
1) "myhash"
2) "myname"
3) "fruitlist"
127.0.0.1:6379> renamenx fruitlist fruitlists
(integer) 1
127.0.0.1:6379> keys *
1) "myhash"
2) "myname"
3) "fruitlists"