在上篇文章中我们介绍了Redis在Linux中的安装
本文给大家介绍下Redis中的五大数据类型
Redis中的数据都是key/value对,这里的数据类型指的是value的值的类型
启动redis服务并登录客户端
通用命令
五种数据类型的数据的结构差异所以命令也不尽相同,但是还是有一些相通的命令。所以此处先介绍下通用命令
创建一个简单的k/v对
127.0.0.1:6379> set name dpb OK
在redis中,默认一共有16个数据库,编号为0-15,正常情况下,用户登录成功后,首先看到的是0号库,可以手动切换为其他库,使用
SELECT
127.0.0.1:6380> set name zhangsan OK 127.0.0.1:6380> select 4 OK 127.0.0.1:6380[4]> get name (nil) 127.0.0.1:6380[4]> select 0 OK 127.0.0.1:6380> get name "zhangsan"
DEL命令
该命令用于在 key 存在时删除 key。
127.0.0.1:6379> del name (integer) 1 127.0.0.1:6379> del name (integer) 0
返回数字表示删除的记录数
DUMP命令
序列化给定 key ,并返回被序列化的值。
127.0.0.1:6379> dump name "\x00\x03dpb\t\x00\xe5\xa2\xc4\xd1\xfc\xb2\xd9\xcb" 127.0.0.1:6379> dump name1 (nil)
如果key不存在返回nil
EXISTS命令
检查key是否存在
127.0.0.1:6379> exists name (integer) 1 127.0.0.1:6379> exists name1 (integer) 0
1表示存在,0表示不存在
TTL命令
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
127.0.0.1:6379> ttl name (integer) -1 127.0.0.1:6379> ttl name1 (integer) -2
-2表示key不存在,-1表示没有设置有效时间,不会过期,我们可以通过EXPIRE key 设置有效时间
EXPIRE
是指有效时间,单位秒
127.0.0.1:6379> expire name 120 (integer) 1 127.0.0.1:6379> ttl name (integer) 112 127.0.0.1:6379> ttl name (integer) 10 127.0.0.1:6379> ttl name (integer) 7 127.0.0.1:6379> ttl name (integer) -2
100毫秒比较短暂,-2表示已经不存在了。
PTTL
和ttl命令一样,只是返回单位是毫秒
127.0.0.1:6379> pexpire name 100000 (integer) 1 127.0.0.1:6379> ttl name (integer) 91 127.0.0.1:6379> pttl name (integer) 84601
KEYS
通过正则表达式查找符合条件的key
127.0.0.1:6379> set age 18 OK 127.0.0.1:6379> set sex 男 OK 127.0.0.1:6379> set address 深圳 OK 127.0.0.1:6379> keys * 1) "age" 2) "address" 3) "sex"
keys * 查询所有的key
RANDOMKEY
从当前数据库中随机返回一个key
127.0.0.1:6379> randomkey "address" 127.0.0.1:6379> randomkey "age" 127.0.0.1:6379> randomkey "sex" 127.0.0.1:6379> randomkey "age"
TYPE命令
返回key对应的数据类型
127.0.0.1:6379> type name none 127.0.0.1:6379> type age string 127.0.0.1:6379> type sex string
不存在返回的是none
RENAME
修改key的名称
127.0.0.1:6379> rename age age1 OK 127.0.0.1:6379> exists age (integer) 0 127.0.0.1:6379> exists age1 (integer) 1
flushdb
清空当前库
127.0.0.1:6380> keys * 1) "name" 127.0.0.1:6380> flushdb OK 127.0.0.1:6380> keys * (empty list or set) 127.0.0.1:6380>
flushall
清空所有库
~通用相关的命令就介绍这么多,更多详见官网:http://www.redis.cn/commands.html