redis 简介
简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种springboot是什么框架集群方案。
Redis相spring框架关教程推荐(在线观看和网盘链接)
在线视频观springboot看:Redis实战精讲-13小时彻底搞定Redis
资料、源码下载:www.bjpowernode.com/javavideo/1…
1.在Redis中使用Luspringboot面试题a
在Redis中执行Lua脚本有两种方法:eval和evals数据库系统概论ha。
1.1 eval
如果Luspring是什么意思a脚本较长,还可以springboot和ssm的区别使用redis-cli–eval直接执行文件。
eval命令和–eval参数本质是一样的,客户端如果想执行Lua脚本,首先在客户端编写好Lua脚本代码,然后把脚本作为字符串发送给服务端,服务端会将执行结果返回给客户spring面试题端。
1.2 evalsha
除了使用eval,Redis事务所还提供了evalsha命令来执行Lua脚本。
首先要将Lua脚本加载到Redis服务端,得到该脚本的SHA1校验和,evalsha命令使用SHA1作为参数可spring以直接执行对应Lua脚本,避免每次发送Lua脚本的开销spring漏洞。这样客事务所户端就不需要每次执行脚本内容,而脚本也会常驻在服务端,脚本功能得到了复用。
加载脚本
script load命令可以将脚本内容加载到Redis内存中,例如下面将lua_get.lua加载到Redis中,得到SHA1为:”7413dc2440db1fea7c0a0bde841fa68eefaf149c”
执行脚本
evalsha的使用方法如下,参数使用SHA1源码时代值,执行逻辑和eval一致。
2.Lua的RedisAPI
Lua可以使用redis数据库有哪几种.call函数实现对Redis的访问,例如下面代码是Lua使用redis.call调用了RediSprings的set和get操作:
获取KEY可以通过 KEYS[1],获取 Value 可以通过 ARGV[1] 。
3.开发提示
Lua可以使用redis.log函数将Lua脚本的日志输出到Redis的日志文件中,但是一定要控制日志级别。Redis3.2提供了Lua Script Debugger功能springboot项目搭建用来调试复杂的Lua脚本,具体可以参考:redis.io/topics/ldb。
redis.LOG_DEBUG
redis.LOG_VERBOSE
redis.LOG_NOTICE
redis.LOG_WARNING
SpringBoot源码编辑器通过RedisTemplate执行Lua脚本数据库
1.RedisScript
首先你得引入spring-bootspringboot启动流程-starter-data-redis依赖,其次把lua脚本放在resources目录下。
Red源码交易平台isScript的getSha1(事务所所长的委托任务)方法可以获取脚本摘要。