Openresty服务器使用lua脚本写的Hello World简单实例
Openresty提供了丰富的接口和变量给Lua,开发者可以充分利用Lua语言特性和这些接口进行高效率开发。万事开头难,但是对于编程来说能写出Hello world就已经算是成功一半了。
1、安装openresty
2、配置nginx
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /lua {
default_type text/plain;
content_by_lua_file /opt/lua/bin/test.lua;
}
........
}
3、新建 /opt/lua/bin/test.lua
local welcome = 'Hello World'
ngx.say(welcome)
4、访问即可
相关推荐
-
Openresty服务器使用lua脚本写的Hello World简单实例
Openresty提供了丰富的接口和变量给Lua,开发者可以充分利用Lua语言特性和这些接口进行高效率开发.万事开头难,但是对于编程来说能写出Hello world就已经算是成功一半了. 1.安装openresty 2.配置nginx 复制代码 代码如下: server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main
-
用js写的一个路由(简单实例)
前几天在网上看了一个大牛用js写了一个路由的,有一句代码一直不知道怎么回事,后来就自己写了一个,写的比较的粗糙,我觉得把面向对象的思想都搞得乱七八糟的,不过功能实现了. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js实现路由</title> </head> <body> &l
-
nginx中使用lua脚本的方法
Lua是一种跟JavaScript很像的语言,Ngix_Lua同样使用异步单线程,语法甚至比JS更加简单,之前的评测指出,Ngix_lua的性能几乎是Node.JS的一倍. Nginx 特点 1.流行的高性能HTTP服务器 2.事件驱动(异步)架构 3.少量且可测内存占用 4.声明性配置语言 5.基于C的可扩展模块 通过lua-nginx-module即可在nginx上启动lua脚本. 一个例子: 复制代码 代码如下: location / { content_by_lua '
-
详解Redis中Lua脚本的应用和实践
引言 前段时间组内有个投票的产品,上线前考虑欠缺,导致被刷票严重.后来,通过研究,发现可以通过 redis lua 脚本实现限流,这里将 redis lua 脚本相关的知识分享出来,讲的不到位的地方还望斧正. redis lua 脚本相关命令 这一小节的内容是基本命令,可粗略阅读后跳过,等使用的时候再回来查询 redis 自 2.6.0 加入了 lua 脚本相关的命令,EVAL.EVALSHA.SCRIPT EXISTS.SCRIPT FLUSH.SCRIPT KILL.SCRIPT LOAD,
-
redis中如何使用lua脚本让你的灵活性提高5个逼格详解
前言 在实际工作过程中,可以使用lua脚本来解决一些需要保证原子性的问题,而且lua脚本可以缓存在redis服务器上,势必会增加性能. 然而在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了... 一:Lua脚本 说来也巧,redis的大老板给了你解决这种问题的方法,那就是Lua脚本,而且redis的最新版本也支持Lua Script debug,
-
redis中lua脚本的简单使用
一.背景 在使用redis的过程中,发现有些时候需要原子性去操作redis命令,而redis的lua脚本正好可以实现这一功能.比如: 扣减库存操作.限流操作等等. redis的pipelining虽然也可以一次执行一组命令,但是如果在这一组命令的执行过程中,需要根据上一步执行的结果做一些判断,则无法实现. 二.使用lua脚本 Redis中使用的是 Lua 5.1 的脚本规范,同时我们编写的脚本的时候,不需要定义 Lua 函数.同时也不能使用全局变量等等. 1.lua脚本的格式和注意事项 1.格式
-
redis lua脚本实战秒杀和减库存的实现
目录 前言 1.redisson介绍 2. redis lua脚本编写与执行 3.redis减库存lua脚本 4.实战 4.1 减库存逻辑 4.2 压测 前言 我们都知道redis是高性能高并发系统必不可少的kv中间件,它以高性能,高并发著称,我们常常用它做缓存,将热点数据或者是万年不变的数据缓存到redis中,查询的时候直接查询redis,减轻db的压力,分布式系统中我们也会拿它来做分布式锁,分布式id,幂等来解决一些分布式问题,redis也支持lua脚本,而且能够保证lua脚本执行过程中原子
-
redis执行lua脚本的实现方法
目录 1. 语法格式 2.类型转换 3.lua脚本 3.1 script命令 3.2 脚本原子性 3.3 脚本缓存和EVALSHA 3.4 全局变量保护 3.5 日志记录 从redis 2.6.0版本开始,redis内置了Lua解释器,并提供了eval命令来解析Lua脚本求值. 1. 语法格式 语法: eval script numkeys keys args 参数: eval - redis提供解析lua脚本的命令 script - lua脚本 numke
-
Redis中Lua脚本的使用和设置超时
目录 EVAL命令简介 eval格式 特性 执行流程 关于脚本超时 SCRIPT KILL 命令 SHUTDOWN NOSAVE 命令 参考 Redis提供了Lua脚本功能来让用户实现自己的原子命令,但也存在着风险,编写不当的脚本可能阻塞线程导致整个Redis服务不可用. 本文将介绍Redis中Lua脚本的基本用法,以及脚本超时导致的问题和处理方式. EVAL命令简介 eval格式 Redis 提供了命令EVAL来执行Lua脚本,格式如下 EVAL script numkeys key [key
-
redis中lua脚本使用教程
目录 一.背景 二.使用lua脚本 三.lua和redis数据类型转换 四.lua脚本中输出日志 五.一个简单限流的案例 六.lua脚本的debug 七.参考文档 一.背景 在使用redis的过程中,发现有些时候需要原子性去操作redis命令,而redis的lua脚本正好可以实现这一功能.比如: 扣减库存操作.限流操作等等. redis的pipelining虽然也可以一次执行一组命令,但是如果在这一组命令的执行过程中,需要根据上一步执行的结果做一些判断,则无法实现. 二.使用lua脚本 Redi
随机推荐
- Vue-router路由判断页面未登录跳转到登录页面的实例
- 在Ajax中使用get和post所遇到的问题及解决办法
- C#实现终止正在执行的线程
- Oracle 表三种连接方式使用介绍(sql优化)
- 详解ASP.NET数据绑定操作中Repeater控件的用法
- codeigniter中view通过循环显示数组数据的方法
- C#实现将json转换为DataTable的方法
- Nginx隐藏index.php和Pathinfo模式配置例子
- php删除文本文件中重复行的方法
- jquery mobile页面跳转后样式丢失js失效的解决方法
- 80端口被占用导致Apache启动失败怎么解决
- PHP初学入门
- linux磁盘管理软RAID的实现原理分析和方法分享
- vue实现通讯录功能
- iOS常用调试方法之静态分析详解
- 易语言控制台程序调用窗口的组件详解
- Python Django实现layui风格+django分页功能的例子
- golang新手不注意可能会出现的一些小问题
- Android 8.0的缓存大小和缓存清理接口方法
- Python线程指南分享