|NO.Z.00027|——————————|BigDataEnd|——|Hadoop&Redis.V03|——|Redis.v03|lua脚本与Redis整合应用.v01|
一、lua脚本与Redis整合应用;lua脚本复制
### --- Luau脚本
~~~ lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,
~~~ 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
~~~ # Lua应用场景:
~~~ 游戏开发、独立应用脚本、Web应用脚本、扩展和数据库插件。
### --- nginx上使用lua 实现高并发
~~~ # OpenRestry:
~~~ 一个可伸缩的基于Nginx的Web平台,
~~~ 是在nginx之上集成了lua模块的第三方服务器OpenRestry
~~~ 是一个通过Lua扩展Nginx实现的可伸缩的Web平台,
~~~ 内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。
~~~ 用于方便地搭建能够处理超高并发(日活千万级别)、扩展性极高的动态Web应用、
~~~ Web服务和动态网关。 功能和nginx类似,就是由于支持lua动态脚本,所以更加灵活。
~~~ OpenRestry通过Lua脚本扩展nginx功能,
~~~ 可提供负载均衡、请求路由、安全认证、服务鉴权、流量控制与日志监控等服务。
~~~ 类似的还有Kong(Api Gateway)、tengine(阿里)
二、创建并修改lua环境
### --- 下载:地址:http://www.lua.org/download.html
~~~ 可以本地下载上传到linux,也可以使用curl命令在linux系统中进行在线下载
[root@hadoop software]# curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz
### --- 安装
[root@hadoop software]# software]# yum -y install readline-devel ncurses-devel
[root@hadoop software]# tar -zxvf lua-5.3.5.tar.gz
~~~ # 在src目录下
[root@hadoop software]# cd lua-5.3.5/src/
[root@hadoop src]# make linux
~~~ # OR
[root@hadoop src]# make install
### --- 如果报错,说找不到readline/readline.h, 可以通过yum命令安装
[root@hadoop software]# yum -y install readline-devel ncurses-devel
### --- 安装完以后再
[root@hadoop software]# make linux / make install
### --- 最后,直接输入 lua命令即可进入lua的控制台
[root@hadoop ~]# lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
>
### --- Lua环境协作组件
~~~ 从Redis2.6.0版本开始,通过内置的lua编译/解释器,可以使用EVAL命令对lua脚本进行求值。
~~~ 脚本的命令是原子的,RedisServer在执行脚本命令中,不允许插入新的命令
~~~ 脚本的命令可以复制,RedisServer在获得脚本后不执行,生成标识返回,
~~~ Client根据标识就可以随时执行
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv012-redis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通