Redis入门指令笔记

Redis数据结构介绍

redis是一个key-value的数据库,key一般是String类型,value的类型多种多样:

Sting hello world
Hash

{name:'sl' , age:18}

List [A -> B -> C]
Set {A,B,C}
SortedSet {A:1,B:2}

GEO

{A: (120.3,30.5)}
BitMap
HyperLog

Redis通用指令:

  • keys : 查看符合模板的所有key,不建议在生产环境设备上使用
  • del : 删除一个指定的key
  • exists : 判断key是否存在
  • expire : 给一个key设置有效期,有效期到期时该key会被自动删除
  • ttl:查看一个key的有效期


String类型:

其value是字符串,分为三类

String:普通字符串

int:整数类型

float:浮点数类型

String的常见命令:

  • set : 添加或修改已存在的一个String类型的键值对
  • get: 根据key获取String类型的value
  • mset:批量添加多个String类型的键值对
  • mget:根据多个key获得多个String类型的value
  • incr:让一个整数的key自增1
  • incrby:让一个整数key自增并指定步长
  • incrbyfloat:让一个浮点类型的数字自增并指定步长
  • setnx:添加一个String类型的键值对,前提是这个key不存在,否则不执行
  • setex:添加一个String类型的键值对,并指定有效期

key的结构

允许有多个单词形式层级结构,多个单词之间用 ':' 隔开

例:

项目名:业务名:类型:id

Hash类型

也叫散列,其value是一个无序字典

hash结构可以将对象中的每个字段独立存储,可以针对单个字段做crud

常见指令

  • HSET key filed value:添加或者修改hash类型key的filed的值
  • HGET key field:获取一个hash类型key的field值
  • hmset: 批量添加多个hash 类型key的filed的值
  • hmget:批量获取多个hash类型key的field的值
  • hgetall:获取一个hash类型的key中的所有的field和value
  • hkeys:获取一个hash类型的key中所有的filed
  • hvals:获取一个hash类型的key中的所有value
  • hincrby:让一个hash类型key的字段值自增并指定步长‘
  • hsetnx:添加一个hash类型的key的field值,前提这个field不存在,否则不执行

List类型

可以看作一个双向链表结构。既支持正向也支持反向检索

有序、元素可重复、插入和删除快、查询速度一般

常见命令

  • LPUSH key element ....:向列表左侧插入一个或多个元素
  • LPOP key :移除并返回列表左侧的第一个元素,没有返回null
  • RPUSH key element ...: 向列表右侧插入一个或多个元素
  • RPOP key :移除并返回右侧表的第一个元素
  • LRANGE key star end : 返回一段角标范围内的所有元素
  • BLPOP和 BRPOP: 与LPOP和RPOP类似,在没有元素时等待指定时间,而不是直接返回null

Set类型

可以看作一个value为null的hashMap。也是一个Hash表,

具备:无序、元素不可重复、查找快、支持交集、并集、差集等功能

String的常见命令:

SADD key member ...:向 set 中添加一个或多个元素

SREM key member ...:移除set中的指定元素

SCARD key :返回set中元素的个数

SISMEMBER key member: 判断一个元素是否存在于set中

SMEMBERS:获取set中的所有元素

SINTER key1 key2 ....:求key1和key2的交集

SDIFF key1 key2 ...:求key1与key2的差集

SUNION key1 key2 ...;求key1和key2的并集

SortedSet类型

ScoredSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表加hash表。

具备:可排序、元素不重复、查询速度快的特性

  • ZADD key score member:添加一个或多个元素到sorted set,如果已经存在则更新其score
  • ZREM key member:删除sorted set中的一个指定元素
  • ZSCORE key member:获取sorted set 中的指定元素的score值
  • ZRANK key member:获取sorted set 中的指定元素的排名
  • ZCARD key:获取sorted set中的元素个数
  • ZCOUNTkey min max:统计score值在给定范围内的所有元素的个数
  • ZINCRBY key increment member:让sorted set 中的指定元素自增,步长为指定的increment值
  • ZRANGE key min max:按照score排序后,获取指定排名范围内的元素
  • ZRANGEBYSCORE key min max:按照score排序后,获得指定score范围内的元素
  • ZDIFF、ZINTER、ZUNION:求差集、交集、并集

你可能感兴趣的:(学习,笔记,redis)