reids通用命令和类型

redis的数据类型key-value

redis不想数据库有table其中id不会混乱,但redis的key都存在一起,所以命名可以加上’ : ‘作为区分
例如,本人roydon有article和problem

1
2
roydon:article:id
roydon:problem:id

value若是Java对象,可序列化为json字符串后存储
例如,key为roydon:user:1对应value:

1
'{"id":1,"name":"roydon","age":20}'

keys
rdmuser

命令添加
set (key) (value)
获取
get (key) (value)
getset

通用命令

结合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操作

hsak

List类型

类似Java中LinkedList,双向链表,反正向检索
在这里插入图片描述

Set类型

与Java中HashSet类似,可以看作一个value为null的HashMap

  • 无序
  • 元素不可重复
  • 查找快
  • 支持交集,并集,差集等功能

在这里插入图片描述

SortedSet类型

是一个开排序的set集合,类似Java中TreeSet,但底层数据结构差别很大。SortedSet中每个元素都带有一个score属性,可以基于score属性对元素排序

  • 可排序
  • 元素不重复
  • 查询速度快
    //////////////////适用场景:排行榜
    sortset