redis学习笔记-----五种数据类型以及常用命令基本操作

  1. 存储结构

    字符类型
    散列类型
    列表类型
    集合类型
    有序集合
    
  2. 各种数据结构的使用

一个字符类型的key默认存储的最大容量是512M

String

赋值和取值
赋值:给key:age 赋值 20
set key value
赋值
取值:取出key:age的值
get key
redis学习笔记-----五种数据类型以及常用命令基本操作_第1张图片
递增数字,redis 的命令 incr key 是原子操作
incr key
redis学习笔记-----五种数据类型以及常用命令基本操作_第2张图片
错误的演示(在使用分布式是用代码这样计算会出现非原子性操作)
当多个线程访问的时候,value 的得值,和预想的不一样
int value= get key;
value =value +1;
incr 使用场景
短信重发机制:expire sms:limit:mobile 30 —>设置key 30秒过期
在30秒内发送短信次数自增,在单位时间内,最多只能发送规定的短信条数。

incryby key increment 递增指定的整数
在这里插入图片描述
decr key 原子递减.
在这里插入图片描述
append key value 向指定的key追加字符串
redis学习笔记-----五种数据类型以及常用命令基本操作_第3张图片
strlen key 获得key对应的value的长度
在这里插入图片描述
mget key key… 同时获得多个key的value
在这里插入图片描述
mset key value key value key value … 同时设置对个key值
redis学习笔记-----五种数据类型以及常用命令基本操作_第4张图片setnx key value // key 存在 返回0 不存在返回1
运用场景:分布式锁
redis学习笔记-----五种数据类型以及常用命令基本操作_第5张图片

list, 可以存储一个有序的字符串列表

redis学习笔记-----五种数据类型以及常用命令基本操作_第6张图片
LPUSH/RPUSH: 从左边或者右边push数据
LPUSH/RPUSH key value value …
llen num 获得列表的长度
lrange key start stop ; 索引可以是负数, -1表示最右边的第一个元素
redis学习笔记-----五种数据类型以及常用命令基本操作_第7张图片

lrem key count value 删除
redis学习笔记-----五种数据类型以及常用命令基本操作_第8张图片
lset key index value 修改制定索引的值
redis学习笔记-----五种数据类型以及常用命令基本操作_第9张图片
LPOP/RPOP : 取数据
应用场景:可以用来做分布式消息队列

散列类型
hash key value 不支持数据类型的嵌套
比较适合存储对象
person
age 18
sex 男
name 何龙云

hset key field value //在key 设置 属性为feild 的 value值
redis学习笔记-----五种数据类型以及常用命令基本操作_第10张图片

hget key filed //取值
redis学习笔记-----五种数据类型以及常用命令基本操作_第11张图片

hmset key filed value [filed value …] 一次性设置多个值
hmget key field field … 一次性获得多个值
hgetall key 获得hash的所有信息,包括key和value
redis学习笔记-----五种数据类型以及常用命令基本操作_第12张图片hexists key field 判断字段是否存在。 存在返回1. 不存在返回0

在这里插入图片描述
hdel key field [field …] 删除一个或者多个字段

集合类型

set 跟list 不一样的点。 集合类型不能存在重复的数据。而且是无序的
sadd key member [member …] 增加数据; 如果value已经存在,则会忽略存在的值,并且返回成功加入的元素的数量
srem key member 删除元素
smembers key 获得所有数据
redis学习笔记-----五种数据类型以及常用命令基本操作_第13张图片

sdiff key key … 对多个集合执行差集运算
redis学习笔记-----五种数据类型以及常用命令基本操作_第14张图片
sunion 对多个集合执行并集操作, 同时存在在两个集合里的所有值

redis学习笔记-----五种数据类型以及常用命令基本操作_第15张图片

有序集合
zadd key score member
zrange key start stop [withscores] 去获得元素。 withscores是可以获得元素的分数
如果两个元素的score是相同的话,那么根据(0<9 运用场景:网站访问的前10名。
redis学习笔记-----五种数据类型以及常用命令基本操作_第16张图片

17/100
HLY1234560

redis的事务处理
MULTI 去开启事务
EXEC 去执行事务
redis学习笔记-----五种数据类型以及常用命令基本操作_第17张图片
过期时间
expire key seconds
ttl key 获得key的过期时间

redis学习笔记-----五种数据类型以及常用命令基本操作_第18张图片

发布订阅
publish channel message
redis学习笔记-----五种数据类型以及常用命令基本操作_第19张图片
subscribe channel [ …]
redis学习笔记-----五种数据类型以及常用命令基本操作_第20张图片

redis的事务处理
MULTI 去开启事务
EXEC 去执行事务
redis学习笔记-----五种数据类型以及常用命令基本操作_第21张图片

过期时间
expire key seconds
ttl key 获得key的过期时间
redis学习笔记-----五种数据类型以及常用命令基本操作_第22张图片

发布订阅
publish channel message

redis学习笔记-----五种数据类型以及常用命令基本操作_第23张图片
subscribe channel [ …]
redis学习笔记-----五种数据类型以及常用命令基本操作_第24张图片

你可能感兴趣的:(分布式)