一、Redis字符串(String)
1、String类型
String字符串:string类型是redis最基本、最简单的数据类型,一个key对应一个value。
String类型的二进制是安全的,可以包含任何数据,但是每一个value最大时512M
2、String命令
设置和获取键值
数值增减:一定是数字才能进行增减
INCR:设置value自增1 DECR:设置value自减1
INCRBY:随意设置value自增数字 DECR:随意设置value自减数字
分布式锁
setex:设置带过期时间的key,动态设置。
setex 键 秒值 真实值
setnx命令当且仅当设置的key不存在哦。
二、Redis哈希(Hash)
1、Hash结构
KV模式,但是value是一个键值对。Hash结构可以对随意的字段做CRUD操作。
2、Hash命令
设置和获取Hash
HSET HGET HMSET HMGET HGETALL HKEYS HVALS
HLEN:key的全部个数、HEXISTS:判断某个key是否存在
三、Redis列表(List)
1、List类型
Redis中的List类型与Java中的LinkedList类似,是一个无头结点的双向链表。既可以支持正向检索和也可以支持反向检索,但是对中间元素的操作比较差。
特点:有序可重复,查询速度快
2、List命令
LPUSH:各个 value 会按从左到右的顺序依次插入到表头
RPUSH:各个 value 会按从左到右的顺序依次插入到表尾
LPOP:移除左边元素 RPOP:移除右边元素
四、Redis集合(SET)
1、SET集合
Redis的Set结构与Java中的HashSet类似,可以看做是一个value为null的HashMap。
特点:无序不可重复
2、SET命令
SADD:添加元素 SMEMBERS:遍历所有元素 SCARD:查看元素个数
五、Redis有序集合(sorted set)
1、sorted set类型
Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加 hash表。
特点:有序不可重复
2、sort set命令
六、Redis位图(bitmap)
1、位图bitmap
用String类型作为底层数据结构实现的一种统计二值状态的数据类型。
位图本质是数组,它是基于String数据类型的按位的操作。该数组由多个二进制位组成,每个二进制位都对应一个偏移量(称为一个索引)。
2、命令
bitmap的偏移量是从0开始计算的。