![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
y_dd
这个作者很懒,什么都没留下…
展开
-
redis客户端redis-plus-plus
redis的客户端redis官网,redis客户端 页中包括了各种语言的客户端,选择c++,官网截图如下:参看介绍,redis-plus-plus 基于hiredis,使用c++11编写的,支持脚本 pub/sub 流水线 事务 redis集群,哨兵,连接池,ACL SSL以及线程安全,功能比较强大。点击链接转到github,下载源码。安装下载源码后,查看README介绍如何安装使用master分支,这是以及通过所有测试的分支。dev的分支是不稳定的。安装hiredis因为redis-pl原创 2021-12-29 11:25:37 · 4452 阅读 · 0 评论 -
【redis流水线】
redis事务型流水线以MULTI开始…多个用户命令EXEC结束redis会延迟执行已经入队的这些用户命令,直到收到EXEC命令,才将这些所有的命令发送给redis。这种做法也是流水线做法。可以使用WATCH监视一个KEY,如果KEY发生变化,这些所有操作都不会再执行,且会报一个错非事务性流水线各客户端都有自行支持的pipeline,既不需要包含MULTI EXEC也可以做到流水线处理...原创 2021-12-28 21:15:21 · 323 阅读 · 0 评论 -
redis持久化
持久化分类AOF (只追加文件)snapshotting (快照)snapshoptting原理:将某一时刻的内存数据写入硬盘。redis接收到备份命令后会fork一个子进程,负责将快照写入硬盘创建方法:客户端发送BGSAVE客户端发送SAVE设置save的配置选项接收到SHUTDOWN命令要关闭服务器缺点:会丢失程序出现崩溃后的数据更新。如果redis占用内存很大,fork子进程底层是创建副本,可能会导致创建进程的时间很长。AOF原理是记录每一次操作,如果出现故障,重新原创 2021-12-28 20:39:03 · 372 阅读 · 0 评论 -
【redis+lua实现分布式锁】
使用Lua原因轻量脚本执行原子化,这对于多线程或者多进程的环境中很重要。使用常用的EVAL 命令:EVAL script numkeys key [key …] arg [rg …]加锁localhost:0>eval "if redis.call('EXISTS', KEYS[1]) == 0 then redis.call('set', KEYS[1], ARGV[1]) redis.call('expire', KEYS[1], ARGV[2]) return 1 else retu原创 2021-12-26 20:11:41 · 358 阅读 · 0 评论 -
【reids实现职位搜索】
redis实现职位搜索某A 同学具备skill1 skill2职位有n多:job1需要skill1 skill3job2 需要skill2 skill3job3需要skill1 skill2求A同学可以求职的岗位方案一正向思路,遍历所有职位,职位需要的技能包含在A同学具备的技能之中,方案简单,不再详述。不利于性能扩展。方案二逆向思路:为每个skill建立集合,key为每个技能,值为jobid,我们成为skill集合skill1: job1 job3skill2:job2原创 2021-12-10 22:11:25 · 440 阅读 · 0 评论