Redis高阶应用
文章平均质量分 71
han-xuefeng
开源社区弟中弟
展开
-
分布锁详解 Redis分布锁原理详解
分布锁详解和Redis分布锁原理详解一、分布式锁分布式锁概念:分布式锁其实可以理解为:控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性。 举个不太恰当的例子:假设共享的资源就是一个房子,里面有各种书,分布式系统就是要进屋看书的人,分布式锁就是保证这个房子只有一个门并且一次只有一个人可以进,而且门只有一把钥匙。实现步骤加锁A获得了钥匙,进入房子里,看书。解锁A离开房间,并且还了钥匙。锁超时为了避免死锁,我们可以在一定单位时间内,将A清除房间,并且把钥匙放回原处。原创 2021-09-24 18:28:55 · 659 阅读 · 0 评论 -
Redis 脚本
Redis 脚本一、Redis 脚本 脚本定义Redis 脚本,使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。Redis事务有一定的局限性。可以使用reids脚本代替redis队列。二、Redis脚本优势高效性:减少网络开销及时延,多次redis服务器网络请求的操作,使用LUA脚本可以用一个请求完成。数据可靠性:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。复用性:LUA脚本执行后会永久存储在Red原创 2021-08-17 21:13:42 · 628 阅读 · 0 评论 -
Redis管道技术(PHP Redis管道用法)
Redis管道技术一、Redis管道技术原理Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。服务端处理命令,并将结果返回给客户端。Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。二、管道技术的优势管道技术最显著的优势是提高了 redis 服务的性能。三、查看 redi原创 2021-08-17 20:38:52 · 465 阅读 · 0 评论 -
Redis事务
Redis事务一、redis事务原理Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。Redis 特性:单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。事务可以理解为一个打包的批量执原创 2021-08-17 19:47:49 · 78 阅读 · 0 评论 -
PHP使用Redis的BitMap特性实现签到功能
PHP使用Redis的BitMap特性实现签到功能一、BitMapBitMap原理bitMap 位图并不是一种数据结构,其实也就是 byte 数组,用二进制表示,只有 0 和 1 两个数字。基于string数据类型的按位操作符,高阶数据类型的一种。bitMap支持的最大位数是2^32位,使用512M内存就可以存储多达42.9亿的字节信息。BitMap操作命令gitbit用法:getbit key offset含义:对key所存储的字符串值,获取指定偏移量上的位(bit)setb原创 2021-04-21 16:50:35 · 873 阅读 · 0 评论