目录一、Redis 基本命令 1. 测试Redis性能:redis-benchmark 2. Redis沟通命令,查看状态:ping 3.查看redis服务器的统计信息:info [section] 4.redis使用的数据库 5.查看当前数据库中 key 的数目:dbsize: 6.查看当前数据库中符合要求的 key: 7.判断 key 是否存在:exists key [key…]: 8.移动
转载 2024-05-29 06:43:34
36阅读
Redisson分布式锁的实现原理 加锁机制 如果该客户端面对的是一个 redis cluster 集群,他首先会根据 hash节点选择一台机器。发送 lua 脚本到 redis 服务器上,脚本如下 "if (redis.call('exists',KEYS[1])==0) then "+ --看有没有锁 "redis.call('hset',KEYS[1],A
转载 2023-10-08 16:44:40
137阅读
当master根据replica的PSYNC命令判断不能进行增量同步时,下面就需要进行全量同步。replica接受全量数据对于replica来说,会向事件循环中注册可读事件readSyncBulkPayload,用来接受从master传过来的全量数据:void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) {
转载 2024-01-28 06:17:50
35阅读
文章目录Redis命令执行命令执行附加标识核心函数CALL的源码 Redis命令执行Redis执行命令时都会先建立一个客户端,然后由客户端去和服务器连接,在执行命令(使用lua脚本执行亦如此,只不过lua的客户端是个伪客户端而已)。redis的命令执行中有一个核心部分,就是call()方法,call函数声明如下:void call(client *c, int flags)可见有两个参数,cli
转载 2023-10-13 14:37:02
72阅读
redis 2.6.0版本开始,redis内置了Lua解释器,并提供了eval命令来解析Lua脚本求值。1. 语法格式语法: eval script numkeys keys args参数: eval — redis提供解析lua脚本的命令script — lua脚本numkeys — 指定键名参数集(keys)的个数keys — 键名参数集,通过全局变量KEYS数组表示,起始下标为1args
转载 2023-08-22 13:03:00
777阅读
redis学习笔记参考文档链接:https://pan.baidu.com/s/1sMUUYR3VGZcqPmJQNWeYDA 密码:hf2nredis脚本lua语言使用lua语言写一个脚本: local times = redis.call('incr', KEYS[1]) if times == 1 then -- keys[1]键刚创建吗所以为其设置生存时间
转载 2023-05-30 15:31:51
126阅读
redis从2.6版本开始内置支持Lua解释器,解释器提供了3个函数来处理redis的命令redis.call() redis.pcall()和 redis.log,同时redis 也保证脚本会以原子性的方式执行。这是一个很重要的因素。本文涉及到的命令有 EVAL EVALSHA SCRIPT LOAD SCRIPT FLUSH
转载 2023-09-07 07:55:19
0阅读
原创 2022-08-06 00:26:29
163阅读
一,Redis和Lua结合1:redis.call:在脚本中调用Redis命令,遇到错误会直接返回2:redis.pcall:在脚本中调用Redis命令,遇到错误会记录错误并继续执行3:Lua数据类型和Redis返回值类型对应(1)数字——整数(2)字符串——字符串(3)表类型——多行字符串(4)表类型(只有一个ok字段存储状态信息)——状态回复(5)表类型(只有一个err字段存储错误信息)—
转载 2023-11-10 02:39:51
572阅读
以windows版的redis为例下载github上下载https://github.com/MicrosoftArchive/redis/releases可以下载zip版本,解压到一个目录就行,例如我的目录是:D:\redis启动打开一个 cmd 窗口 使用 cd 命令切换目录到 D:\redis 运行如下命令即可:redis-server.exe red
转载 2023-08-22 10:03:12
73阅读
Redis是一个CS结构的TCP服务器,使用”请求-应答”的模式。,客户端发起一个请求是这样的步骤:客户端发送一个请求给服务器,然后等待服务器的响应,一般客户端使用阻塞模式来等待服务器响应。服务器收到请求并处理完毕后,发送结果给客户端。   举个例子,发送下面4个命令大概就是这样的顺序:客户端发送: INCR X服务器响应: 1客户端发送: INCR X服务
转载 2024-02-22 18:17:33
54阅读
lua语法可以再https://www.runoob.com/lua/lua-tutorial.html 这个网站上先学习,讲的还是挺清楚的,由于项目开发中用到的比较少,所以并没有深入学习,知识学了基本的用法。EVAL语法eval script numkeys key [key ...] arg [arg ...]script 是lua脚本numkeys 表示key的数量, 后面可以跟多
转载 2023-09-05 15:52:37
95阅读
//call继承主要是继承构造函数中的属性 function Person(age, sex) { this.age = age; this.sex = sex; } Person.prototype.Sleep = function () { console.log("睡觉"); } Person ...
转载 2021-10-23 19:12:00
114阅读
2评论
如何在redis的lua中返回不同类型的多个返回值?  lua脚本的函数支持多返回值,若redis调用lua脚本支持多返回值,会使一些开发场景简单。但遗憾的是经过试验,redis不支持这一特性。 测试脚本如下: test.lua -> local function test(val) return 1, val
转载 2023-05-25 13:47:32
125阅读
初学lua第一天,人快整没了开篇答案:是返回结果,比如说redis.call(‘type’, KEYS[1])则返回的是{‘ok’=’hash’}由于要求实现操作的原子性,因此使用lua来实现redis的一些操作,脚本传入一个key,但不知道他的种类就无法确定用哪种方法去get,于是写了一个lua脚本。... local res = {} local t = redis.call('type',
转载 2023-07-02 22:27:01
79阅读
业务需求:redis 实现最简单的get 和set操作,set的数据是字符串1、当key不存在时,返回 -12、当 get的值为 "0"时, set值并设置过期时间,返回13、当get的值不为"0"时,返回-2lua脚本:if (redis.call('exists', KEYS[1]) == 1) then local temp = redis.call('get', KEYS[1])
转载 2023-06-19 14:19:27
1117阅读
目录7、Redis消息队列7.1 Redis消息队列-认识消息队列7.2 Redis消息队列-基于List实现消息队列7.3 Redis消息队列-基于PubSub的消息队列7.4 Redis消息队列-基于Stream的消息队列7.5 Redis消息队列-基于Stream的消息队列-消费者组7.6 基于Redis的Stream结构作为消息队列,实现异步秒杀下单8、达人探店8.1、达人探店-发布探店笔
转载 2024-07-17 13:07:12
57阅读
COBOL的调用可以是静态调用(Static Call),这时,被调用的子程序必须与调用程序一起链接(link-edited)起来形成一个完整的装载模块(Load module),但子程序依然可以单独编译。这种方法会生成一个大的模块,同时也使得多个主程序调用同一个子程序时共享程序拷贝的愿望落空。 另外一种COBOL调用方法是动态调用(Dynamic CALL),这时,被调用的子程序必须编...
转载 2018-09-27 14:21:00
254阅读
2评论
思路:1、使用CE先将代码写好,并复制出其字节码2、再目标进程中申请内存,并写入其字节码3、在目标进程中创建远线程,实现远程CALL的调用代码如下1、使用的模块是精易模块2、程序功能:对CS1.6的刷枪CALL的外部调用====》_启动窗口集.程序集 窗口程序集_启动窗口 .程序集变量 目标文件, 整数型 .程序集变量 文本数据, 文本型 .程序集变量 文本数组, 武器 .程序集变量 武器数据,
转载 2023-07-27 17:13:13
580阅读
1 call递归扩展变量 本质上仍然是变量扩展,等价于$(),只不过扩展的时候带了参数,$(call xxx)返回的是xxx扩展之后的值。参数依次赋值给$(1),$(2)......,但是参数要在赋值之前完成扩展。 2 call define定义的多行变量 本质上仍然是变量扩展,参数依次赋值给$(1
转载 2017-09-04 17:08:00
245阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5