# Redis加Lua:提升性能的利器
:-- 获取最大的序列号,样例为16081817202494579
-- 从redis中获取到的序列如果小于传入的序列号,就把redis中的序列号
转载
2023-08-20 20:13:02
192阅读
ssm项目集成nginx反向代理、负载均衡和redis数据缓存1.nginx使用以及出现相关问题1.1.nginx下载后,找到配置文件,并修改:1.2.一直是login.jsp页面原因:1.3.总结:2.ssm项目使用nginx负载均衡的配置(这只是实验,为了验证而已)3.ssm项目集成redis3.1.用法1(默认JDK序列化存储本地Redis):3.2.用法2(GenericJackson2
转载
2024-04-03 16:14:24
67阅读
一、nginx安装1、在官网下载相应版本的nginx的tar包2、上传到/app/tools目录下3、进入目录/app/tools/nginx-1.18.0./configure
make
make install
whereis nginx -- /usr/local/nginx4、启动nginxcd /usr/local/nginx/sbin
./nginx # 启动
./nginx
转载
2023-08-30 13:57:38
88阅读
背景:当前对外api服务的使用者日趋增长,现有系统服务能力有限,需要做对其做容量规划,防止外界系统对当前系统的过渡调用,导致服务超载,影响核心业务的使用,故需对服务做限流措施,了解了几种限流方案,最终选择nginx+lua来实现,对现有系统无侵入,话不多说,切入正题! 1、现有linux系统nginx版本:tengine 2.2.2 服务端:java ,需先对n
转载
2023-06-30 13:21:00
524阅读
如果编译安装,需要指定 --with-stream 选项才能支持ngx_stream_proxy_module模块负载均衡:redis后端服务器安装redis#安装两台redis服务器
[root@cent8_yzl_10 ~]# yum -y install redis
[root@cent8_yzl_10 ~]# grep '^bind' /etc/redis.conf
bind 127.0.
转载
2023-05-25 17:38:15
51阅读
Redis集群Redis集群主要的作用是把多个Redis的服务放在一起,通过某个配置和策略,让它们各司其职;访问Redis时,也可以通过某种策略,将请求发送到不同的Redis服务上。通过集群可以解决内存压力问题。Redis集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。Redis集群通过分区来提供一定程度的可用性:即使集群
转载
2023-05-30 09:40:26
158阅读
本文讲的是使用 Lua 完成 OAuth2 的身份验证, 在此说明该教程将不提供详细的技术指导,教您如何使用 OpenResty + Lua 构建自己的认证层,而是讲解一下解决方案背后的处理过程。这是一个真实的案例:moltin's API 如何依赖 OpenResty + Lua 来为所有的用户处理 oauth
转载
2024-03-24 12:18:03
177阅读
RedisTemplate执行lua脚本在Redis集群模式下报错EvalSha is not supported in cluster environment.异常信息:org.springframework.dao.InvalidDataAccessApiUsageException: EvalSha is not supported in cluster environment.
at o
转载
2023-06-27 23:58:48
408阅读
需要完成功能借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】3、扣减库存 【Lua】4、创建队列和组 【Java】5、发送队列消息
转载
2023-05-25 11:08:29
267阅读
文章目录零、前言一、注释1-1、单行注释1-2、多行注释二、标识符三、全局变量四、数据类型4-1、类型4-2、获取类型五、作用域5-1、在交互模式中作用域5-2、自定一个作用域 do-end5-3、全局变量的检查5-4、全局变量转局部变量六、循环语句6-1、while 循环6-2、for 循环6-2-1、数值型 for6-2-2、泛型 for6-3、repeat-until 循环七、if 语句八
转载
2024-03-27 09:39:14
50阅读
redis-2.6支持通过EVAL命令来执行lua脚本,对lua脚本的支持扩展了redis的应用场景,redis支持路脚本需要做2件事redis能执行lua脚本在lua脚本里能执行redis的命令接下来,我将通过一个简单的实例来解析redis如何完成上述两个工作的。 构建一个简单的redis#define DICT_SIZE 100
struct redisDict {
char*
原创
2023-05-08 14:24:01
323阅读
序言这里主要讨论解决Redis Cluster集群环境下的高并发问题. 问题Redis的命令是串行执行的,但是在集群环境下命令的顺序是不能保证的,不同线程之间对同一个KEY的操作会有嵌套,造成数据不准确.如果是Redis服务器是不是集群,则可以使用Multi,Exec,Watch的命令组合来解决原子性问题.同时也可以根据业务情况独立一个Redis服务器,使用Multi,Exec,Watc
转载
2023-07-21 20:10:51
111阅读
一、问题描述
业务中出现需要保证原子性的一系列缓存操作,所以决定使用lua脚本来保证原子性。
但是调用过程中lua脚本抛出了异常:attempt to perform arithmetic on local ‘xxx’ (a nil value)
转载
2023-06-17 11:03:36
368阅读
1、安装lua类库环境 1.1、yum install -y readline &nb
转载
2023-07-09 17:42:12
169阅读
Description DotR (Defense of the Robots) Allstars是一个风靡全球的魔兽地图,他的规则简单与同样流行的地图DotA (Defense of the Ancients) Allstars。DotR里面的英雄只有一个属性——力量。他们需要购买装备来提升自己的力量值,每件装备都可以使佩戴它的英雄的力量值提高固定的点数,所以英雄的力量值等于它购买的所有装备的
为了保证数据的争用安全,通常要采用锁机制控制。如果是单应用部署,直接通过synchronized关键字修改方法,就能解决,但是如果是分布式的部署 该方法就不能解决这个问题啦,此时就引出了一个分布式锁的概念。常用的分布式锁的实现方式有三种:基于数据库乐观锁(CAS)来实现;基于 Redis 来实现;基于 ZooKeeper 来实现。本文介绍:基于 Redis 和 Lua 脚本实现分布式锁功能。一、为
转载
2023-09-03 13:19:11
127阅读
Lua脚本执行redis指令报错【java.lang.IllegalStateException】问题出现背景今天在学习redis时,为了让redis的多条指令(取锁、比锁、释放锁)保障原子性,我通过使用一个lua脚本统一去执行redis的的多条指令。在执行lua脚本时报错问题说明问题复现 这是我的lua脚本-- 获取锁的key,即: KEY_PREFIX + name
local key = K
转载
2023-08-15 20:08:08
119阅读
原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作。但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限。所以记录下这个踩坑的过程,背景如下:公司因为redis服务器内存吃紧,需要删除一些无用的没有设置过期时间的key。大概有500多w的key。虽然key的数目听起来挺吓人。但是自己玩redis也有年头了,这种事还不是手
转载
2023-07-04 10:40:52
232阅读
为啥用redis呢(只是此处的使用原因): 因为redis是一个内存数据库,效率高; redis支持事务; redis
转载
2023-05-29 15:52:01
238阅读