数据的存储类型
redis采用map的存储结构
1.String
存储形式:key string
基本操作:
(1)添加/修改:set key value | mset key1 value1 key2 value2
(2)获取:get key | mget key1 key2
(3)删除:del key
(4)判定性添加:setnx key value
(5)字符串长度:strlen key
(6)追加信息到原始信息的尾部:append key value
(7)设定数据的声明周期:setex key seconds value
2.Hash
一个存储空间存储多个键值对 基本操作: (1)添加/修改:hset key field value | hmset key field1 value1 field2 value2 (2)获取:hget key field | hgetall key | hmget key field1 field2 (3)删除:hdel key field1[field2] (4)判定性添加:hsetnx key field value (5)哈希表中字段的数量:hlen key (6)哈希表中是否存在指定字段:hexists key field (7)获取哈希表中所有的字段名或字段值:hkeys/hvals key3.List
保存多个数据,底层使用双向链表实现基本操作:
(1)添加/修改:lpush/rpush key value1 [value2]
(2)获取:lrange key start stop | lindex key index | llen key ;(移除)lpop/rpop key
(3)删除:del key
(4)判定性添加:setnx key value
(5)字符串长度:strlen key
(7)移除指定数据:lrem key count value
(8)规定时间内获取并移除数据:blpop/brpop key [key1] timeout | brpop/lpush source destination timeout
4.set
内部与hash相似,但仅存储键不存储值 且值不重复基本操作:
(1)添加/修改:sadd key mum1 [mum2] | mset key1 value1 key2 value2
(2)获取:smembers key | (随机获取指定数量) srandmember key [count]
(3)删除:srem mum1 [mum2] |(随机删除) spop key[count]
(4)获取总数:scard key
(5)判断是否存在:sismember key member
key的常用指令
(1)删除: del key(2)key是否存在:exists key
(3)获取key的类型:type key
(4)排序:sort
(5)改名:rename key newkey
(6)设置有效期:expire/pexpire key seconds/milliseconds
(7)获取有效时间:ttl key | pttl key
(8) 时效性转化为有效性: persist key
(9)查询: key pattern(* 所有 ?任意一个 []指定一个)
数据库常用指令
redis为数据库停供16个数据库 0~15 (1)切换:select index(2)测试连接:ping
(3)数据移动:move key db
(4)数据总量:dbsize
(5)数据清除:flushdb | flushall
(6)设置有效期:expire/pexpire key seconds/milliseconds
(7)获取有效时间:ttl key | pttl key
(8) 时效性转化为有效性: persist key
(9)查询: key pattern(* 所有 ?任意一个 []指定一个)
数据的持久化
持久化方式 | RDB | AOF |
---|---|---|
占用存储空间 | 小 数据级:压缩 | 大 指令级:重写 |
存储速度 | 慢 | 快 |
恢复速度 | 快 | 慢 |
消耗资源 | 高/重量级 | 低/轻量级 |
启动优先级 | 低 | 高 |
数据安全性 | 会丢失数据 | 依据策略决定 |