Redis
-
数据结构与对象
1、简单动态字符串(SDS simple dynamic string)
2、链表
3、字典(map)
4、跳表
5、整数集合
6、压缩列表
-
对象
Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种类型的对象,每种对象都用到了至少一种前面介绍的数据结构。
Redis使用对象来表示数据库中的键和值,每次当我们在Redis的数据库中新创建一个键值对时,我们至少会创建两个对象,一个对象用作键值对的键(键对象),另一个对象用作键值对的值(值对象)。
因为字符串键的值为字符串对象,所以用于字符串键的所有命令都是针对字符串对象来构建的。
Redis数据库中的键值对来说,键总是一个字符串对象,值则可以是**字符串对象(REDIS_STRING),列表对象(REDIS_LIST),哈希对象(REDIS_HASH),集合对象(REDIS_SET)或有序集合对象(REDIS_ZSET)**中的其中一种。
-
字符串命令的实现
1、SET
2、GET
-
列表对象
1、LPUSH:将新元素推入到表头
2、RPUSH:将新元素推入到表尾
3、LPOP:返回并删除表头节点
4、RPOP:返回并删除表尾节点
5、LINDEX:定位并返回列表指定节点
6、LLEN:返回列表长度
7、LINSERT:在指定位置插入列表节点
8、LREM:遍历列表,删除包含给定元素的节点
9、LTRIM:遍历列表,删除列表中所有不在指定索引范围内的节点
10、LSET:定位列表指定索引上的节点,然后通过赋值操作,更新替换该节点的值
11、LRANGE key start stop:获取列表指定范围内的元素
-
哈希对象
1、HSET
2、HGET
3、HEXISTS:字典中键值对是否存在
4、HDEL
5、HLEN:字典中键值对数量
6、HGETALL:返回所有键值对
-
集合对象 唯一不可重复
1、SADD
2、SCARD:返回集合对象所包含的元素数量
3、SISMEMBER:集合中是否存在某元素
4、SMEMBERS:返回所有集合元素
5、SRANDMEMBER:返回集合中随机个元素
6、SPOP:随机返回并删除一个集合元素
7、SREM:删除给定的元素
-
有序集合
1、ZADD
2、ZCARD:返回元素总量
3、ZCOUNT:统计分值在给定范围内的节点的数量
4、ZRANGE:返回给定索引范围内的所有元素
5、ZREVRANGE:倒序返回给定索引范围内的所有元素
6、ZRANK:给定成员的排名(有序集合中,该给定节点前有多少个节点)
7、ZREVRANK:倒序排名
8、ZREM:删除给定节点
9、ZSCORE:查找给定节点的分数值