一.String类型
1.string类型也就是字符串类型,是redis中最简单的存储类型。其中value是字符春,不过根据字符串的格式不同,又可以分为三种类类型:
I:String类型普通字符春
II:Int整数类型:浮点类型,可以做自增,自减操作
III:float浮点类型,可以做自增,自减操作
不管是那种格式,底层都是字节数组形式储存,只不过编码方式不同,字符串类型的最大空间不超过512M
2.String的常见命令:
- SET: set key value 新增或者修改
- GET: 取get key
- MSET:批量添加key value
- MGET:批量获取
- INCR:让一个整型的int+1
- INCRBY 步长 key
- DECR key 自减
- INCRBYFLOAT:让一个浮点类型的数字自增
- SETNX :setnx key 新增功能 如果key存在才执行,否则不执行
- SETEX:setex key value time 设置一个key value加上有效期
二.key的层级格式:
因为redis中不存在Table.所以使用多喝单词形成层级结构。
例:项目名:业务名:类型:id
三:HASH类型
Hash类型,也叫散列,其value是一个无序字典,类似于Java中的hashmap
- HSET key field value:添加或者修改hash类型key的field的值
- HGET key field 获取一个hash类型的key 的field的值
- HMSET:批量添加多个
- HMGET:批量获取多个hash类型的filed的值
- HGETALL:获取一个hash类型的key所有filed的值
- HKEYS:获取一个hash类型的key中的所有的files
- HVALS:获取一个hash类型的key中的所有的值
- HNCERBY:让一个hash类型key的字段值自增并指定步长
- HSETNX:添加一个hash类型的key的field值前提是这个file不存在
四:List类型
与java中linkedList类似,可以看做是一个双向链表结构。即支持正向反向检索
特征:有序,元素可以重复,插入和删除快,查询速度一般
- LPUSH key element..:想列表左侧插入一个或多个元素
- LPOP key 移除并返回列表左侧的第一个元素,没有则返回Nil
- ROUSH key element..:向列表右侧插入一个或多个元素
- RPOP key :移除并返回列表右侧的第一个元素
- LRANGE key star end:返回一段角标范围内的所有元素
- BLOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素时等待指定时间而不是直接返回Nil
五.SET类型
与java中的HashSet类似。可以看作value为null的HashMap.因为也是一个hash表
特征:无需,元素不可重复,查找快,支持交集,并集,差集等功能
- SADD key member...:向set中添加一个或多个元素
- SREM key member:移除Set中指定元素
- SCARD key:返回st中元素的个数
- SISMEMBER KEY member:判断一个元素是否在于Set中
- :SMEMBER:获取set中所有的元素
- SINTER key1 key2 ..:求key1与key2的交集
- SDIFF key1 key2..:求key1与key2的差集
- SUNION key1 key2:求key1与key2的并集
六:SortedSet类型
是一个可排序的set集合。与java中的treeset相似,但是底层结构差的很大
sortedSet底层是跳表加hash表,每个元素都带有一个score属性
具备下列特性:,
可排序,元素不可重复,查询速度快。常用于实现排行榜