Redis
文章平均质量分 80
阳光七十米
后台开发
展开
-
Redis Lua脚本
Redis Lua脚本EVAL script numkeys key [key …] arg [arg …]script: 一段Lua 5.1 脚本程序,这段脚本不必定义为一个Lua函数numkeys:键名参数的个数要求使用正确的形式来传递键(key)是有原因的,因为不仅仅是 EVAL 这个命令,所有的 Redis 命令,在执行之前都会被分析,籍此来确定命令会对哪些键进行操作。示例:eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1原创 2021-07-04 15:54:40 · 154 阅读 · 0 评论 -
Redis持久化
Redis持久化RDB在指定的时间间隔内生成数据集的时间点快照,简单来说就是完整备份一份数据到磁盘,这样恢复数据的时候,直接加载到内存即可。备份机制Redis 调用 fork() ,同时拥有父进程和子进程。子进程将数据集写入到一个临时 RDB 文件中。当子进程完成对新 RDB 文件的写入时,Redis 用新 RDB 文件替换原来的 RDB 文件,并删除旧的 RDB 文件。用法# 60 秒内有至少1000个键被改动,则自动保存一次save 60 100优点RDB是个非常紧凑的文件原创 2021-07-04 14:58:16 · 52 阅读 · 0 评论 -
Redis分布式锁
Redis分布式锁基于单Redis节点的分布式锁标准实现方式获取锁SET resource_name my_random_value NX PX 30000释放锁,通过lua脚本释放,保证原子性// 必须判断是自己加的锁,即随机数是自己产生的,不然就有可能把别人的锁给释放了if redis.call("get",KEYS[1]) == ARGV[1] then return redis.call("del",KEYS[1])else return 0end几原创 2021-07-03 19:09:05 · 98 阅读 · 1 评论 -
Redis数据结构学习笔记
Redis数据结构学习笔记常见的数据结构有数组、链表、集合、哈希表、二叉树、跳表等等,那么Redis里面有多少种数据类型,又是怎么实现的呢?Redis的特点存储效率高。Redis是对于计算机资源的主要消耗就在于内存,而且内存成本较高,因此节省内存是它非常非常重要的一个方面。这意味着Redis一定是非常精细地考虑了压缩数据、减少内存碎片等问题。快速响应。与快速响应时间相对的,是高吞吐量。Redis是用于提供在线访问的,对于单个请求的响应时间要求很高,因此,快速响应时间是比高吞吐量更重要的目标。原创 2021-07-03 15:39:11 · 109 阅读 · 0 评论