redis学习笔记

连接池

maxActive:最大连接数据库连接数,设 0 为没有限制
*maxIdle:最大等待连接中的数量,设 0 为没有限制

基本操作

启动客户端 redis-cli
6379是端口号
6379是端口号

获取所有的配置项:CONFIG GET *

数据类型

string(字符串),hash(哈希),list(列表),set(集合)及zset

列表

在这里插入图片描述

字符串

在这里插入图片描述

散列hash

Redis的散列可以让用户将多个键值对存在一个Redis键里面,可以把一些相关数据存在一起,就像关系数据库的行。

hmset 多参数版本  每次可以设置多个值  对应着  hmget

在这里插入图片描述

列表

列表Redis列表只是字符串列表,按插入顺序排序。您可以向Redis列表的头部或尾部添加元素。
在这里插入图片描述start end 下标表示开始数据的下标和结束数据的下标  0代表第一个元素

集合

在这里插入图片描述

消息订阅

Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息
在Redis中,客户端可以订阅任意数量的信道。
在这里插入图片描述

redis事物

MULTI, EXEC, DISCARD 和WATCH命令是Redis事务操作的基础 。他们可以让Redis在一个步骤里执行一组命令,且能做到如下2个重要保证:
(1)事务中的所有命令都是序列化且都是按顺序执行的。**在一个客户端执行Redis事务的过程中,不会接收其他任何客户端对它发出的请求。**这保证了这些命令是作为一个单独的独立操作执行的。所有的命令要么都被一起处理,要么全都没有被处理,所以Redis事务是原子的。EXEC会命令触发事务中所有命令的执行。当正在使用AOF时,Redis会使用一个简单的write
(2)系统级调用来确保把事务写入到磁盘。但是,如果Redis服务崩溃,或者被系统管理员以某种强制的方式杀死,那么可能只有部分命令被写入到磁盘。Redis在重新启动时会检测这种情况,并报错,然后退出。使用 redis-check-aof工具可以检查AOF,并移除那不完整的事务,使服务可以再次启动
事物用法
使用 MULTI 命令进入事务模式.这个命令只会返回OK。这个时候,用户就可以发出多个要一起执行的命令了。 Redis暂时不会执行这些命令,而是把它们放进队列。 当 EXEC 被调用时,所有的命令才会被一次性执行.

相反的,如果调用了 DISCARD 命令,则会清除事务队列中的所有命令,然后退出事务.
在这里插入图片描述在这里插入图片描述
当一个Redis链接正处于一个MULTI 请求的上下文时, 所有命令的响应结果都是字符串QUEUED。当调用EXEC时,会一次性执行这些命令。

乐观锁
WATCH 命令为事务提供一个check-and-set (CAS) 行为。
WATCH 可以用来监听事务中的队列中的命令,在EXEC之前,一旦发现有一个命令被修改了的 , 那么整个事务就会终止, EXEC返回一个 Null ,提示用户事务失败了。
比如实现一个自增操作,只有一个客户端在执行上面的操作,那么上面的操作是可靠的。但如果同时有多个用户执行上面的操作的话,那结果就是不可靠的了

学习redis参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值