Redis简介

Redis是一个速度非常快的非关系型数据库,它可以存储键(key)和5种不同类型的值(value)之间的映射。


5种不同类型的值的结构

1.String类型(字符串类型)

String类型存储的数据类型可以是字符串,整数或者浮点数。该结构可以执行的操作:对整数和浮点数执行自增或自减操作。


字符串拥有一些与其他键值存储相似的命令:


(1)GET 获取存储在指定key中的value


(2)SET 设置指定key中的value


(3)DEL 删除指定key


话不多说,上代码,打开redis-cli客户端,依次尝试3个命令,体会作用。

redis获取所有ke命令_Redis

2.List类型(列表类型)

List类型的结构和数据结构中的链表类似。


List类型基本命令:


(1)RPUSH


   将给定值推入列表的右端


(2)LRANGE


   获取列表在指定两个索引之间的值


(3)LINDEX


   根据指定索引获取该位置上的值


(4)LPOP


   从列表左端弹出值,并返回弹出的值


尝试4个命令,体会作用。

redis获取所有ke命令_redis获取所有ke命令_02

3.Set类型(集合类型)

Set类型和List类型结构的区别,Set类型利用散列表的特点,确保存储在Set中的字符串不相同。


Set类型基本命令:


(1)SADD


   将给定元素加入到集合中


(2)SMEMBERS


   返回集合中包含的所有元素


(3)SISMEMBER


   判断指定元素是否在集合中


(4)SREM


   如果指定元素存在于集合中,那么移除这个元素


尝试4个命令。

redis获取所有ke命令_字符串_03

4.Hash类型(散列类型)

Redis的散列可以存储多个键值对之间的映射。

注意:Redis中的Hash类型和java中的Hashmap一样,当Redis中的Hash表中存储的数据所占总空间的比例达到或超过负载因子的大小时,Redis会对该Hash表进行rehash操作,并且整个rehash过程是分步完成的,不是一次性完成的。


Hash类型基本命令:


(1)HSET


   设定键值对的键和值


(2)HGET


   获取指定散列键的值


(3)HGETALL


   获取散列包含的所有键值对


(4)HDEL


   如果指定键存在于散列中,那么移除这个键

redis获取所有ke命令_键值对_04

5.Zset类型(有序集合)

有序集合和散列一样,都可以用来存储键值对,不过有序集合中键值对的顺序是根据用户设置的score值排定的。在Redis中zset是通过跳跃表实现的,在大部分情况下,跳跃表的查找性能和平衡二叉树媲美,但跳跃表的实现比平衡二叉树简单的多。


(1)ZADD


   将给定分值的成员添加到有序集合里面


(2)ZRANGE


   根据给定的索引值取出集合中对应的元素


(3)ZRANGEBYSCORE


   根据给定的分值范围取出所有分值在此范围内的元素


(4)ZREM


   如果给定成员存在于集合中,那么移除这个元素

redis获取所有ke命令_redis获取所有ke命令_05