redis通用命令和类型
reids通用命令和类型
redis的数据类型key-value
redis不想数据库有table其中id不会混乱,但redis的key都存在一起,所以命名可以加上’ : ‘作为区分
例如,本人roydon有article和problem
1 | roydon:article:id |
value若是Java对象,可序列化为json字符串后存储
例如,key为roydon:user:1对应value:1
'{"id":1,"name":"roydon","age":20}'
命令添加set (key) (value)
获取get (key) (value)
通用命令
结合help (commend)查看具体用法
KEYS:查看符合模板的所有key,结合通配符,不建议生产使用
DEL:删除指定的key,也可以同时删除多个
EXISTS:判断key是否存在
EXPIRE:给key设置有效期,到期该key自动删除(integer) -2
TTL:查看一个key的剩余有效期
String类型的常用命令
string类型,其value有三种//////////////////////////////////////
- string
- int
- float
KEY | VALUE |
---|---|
msg | hello world |
num | 100 |
pai | 3.14 |
命令———help+comment查看
1.SET
2.GET
3.MSET:批量添加
4.MGET:批量获取,后面添加多个key得到多的对应value
5.INCR:int的key自增1
6.INCRBY:指定增加或减少,key后指定数子,负数为减
7.INCRBYFLOAT:float自增,必须指定,指定值为float数
8.SETNX:添加string类型键值对,key若存在不执行。
同set `key` `value` nx
9.SETEX:添加string类型键值对,并指定有效期
Hash类型
也叫散列,value是一个无序字典,类似于java中的HashMap结构
Hash将每个字段独立存储,可以针对单个字段做CRUD
可对单个field操作
List类型
类似Java中LinkedList,双向链表,反正向检索
Set类型
与Java中HashSet类似,可以看作一个value为null的HashMap
- 无序
- 元素不可重复
- 查找快
- 支持交集,并集,差集等功能
SortedSet类型
是一个开排序的set集合,类似Java中TreeSet,但底层数据结构差别很大。SortedSet中每个元素都带有一个score属性,可以基于score属性对元素排序
- 可排序
- 元素不重复
- 查询速度快
//////////////////适用场景:排行榜