对于Redis中的数据,总体上是键值对,不同数据类型指的是键值对中值的类型值的类型.
关于key
命令 | 作用 |
---|---|
DEL key | 该命令用于在 key 存在时删除 key |
EXISTS key | 检查给定 key 是否存在 |
MOVE key db | 将当前数据库的 key 移动到给定的数据库 db 当中 |
TYPE key | 返回 key 所储存的值的类型 |
SET key value | 设置一个kv键值对 |
1.String:Redis中最基本的类型,它是key对应的一个单一值。二进制安全,不必担心由于编码等问题导致二进制数据变化。所以redis的string可以包含任何数据,比如jpg图片或者序列化的对象。Redis中一个字符串值的最大容量是512M。
命令 | 作用 |
---|---|
GET key | 根据key得到值 |
STRLEN key | 返回 key 所储存的字符串值的长度 |
INCR key | 将 key 中储存的数字值自增1 |
INCRBY key increment | 将 key 所储存的值加上给定的增量值(increment) |
MSET KEY VALUE [KEY VALUE …] | 一次性设置一组多个键值对 |
MGET KEY [KEY …] | 一次性指定多个KEY,返回它们对应的值,没有值的KEY返回值是(nil) |
2.List:Redis 列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。说明它的底层是基于链表实现的,所以它操作时头尾效率高,中间效率低
命令 | 作用 |
---|---|
LPUSH key value [value …] | 从左边添加数据 |
RPUSH key value [value …] | 从右边添加数据 |
LRANGE key start stop | 根据索引打印list集合 (0 -1范围是全部数据) |
LLEN key | list集合的长度 |
LPOP key | 移出并获取列表的第一个元素 |
RPOP key | 移除列表的最后一个元素,返回值为移除的元素。 |
LINDEX key index | 根据索引从集合中取值 |
LSET key index value | 仅保留指定区间的数据,两边的数据被删除 |
LTRIM key start stop | 仅保留指定区间的数据,两边的数据被删除 |
3.Set: Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)
。
命令 | 作用 |
---|---|
SADD key member [member …] | 向集合添加一个或多个成员(不可重复) |
SCARD key | 获取集合的成员个数 |
SMEMBERS key | 查看set集合所有数据 |
SREM key member1 [member2] | 移除集合中一个或多个成员 |
SUNION key1 [key2] | 返回所有给定集合的并集 |
4.Hash:Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象,hash数据类型可以理解为java中的Map<String,String>
项目 | Value |
---|---|
HSET key field value | 添加数据 |
HGETALL key | 查询一个key的所有数据 |
HGET key field | 查询一个key对应field的数据 |
HKEYS key | 获取所有哈希表中的字段 |
HLEN key | 获取哈希表中字段的数量 |
HVALS key | 获取哈希表中所有值 |
HEXISTS key field | 判断一个key中是否存在指定的field |
HDEL key field [field …] | 删除一个key指定的field |
HINCRBY key field increment | 给一个key的某个field对应的value增加increment值 |
HSET key field value | 只有在字段 field 不存在时,设置哈希表字段的值 |
- Zset:
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
项目 | Value |
---|---|
ZADD key score1 member1 [score2 member2] | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
ZRANGE key start stop [WITHSCORES] | 在指定范围内返回数据 |
ZCOUNT key min max | 计算在有序集合中指定区间分数的成员数 |
ZRANK key member | 返回有序集合中指定成员的索引 |
ZCARD key | 查询key对应的数据个数 |
ZREM key member [member …] | 删除元素 |
ZINCRBY key increment member | 给某个元素增加分数 |
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] | 在分数的指定区间内返回数据 |