1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Redis下载地址:wget http://download.redis.io/releases/redis-2.8.6.tar.gz 2.安装依赖包 yum install -y gcc gcc-c++ readline-devel pcre-devel openssl-devel tcl perl…
[1]centos6.5 安装openresty步骤 (1)基础依赖库安装 1.1 yum install pcre-devel openssl-devel gcc curl (2)openResty安装 2.1 安装yum-utils yum install yum-utils 2.2 增加openresty官网仓库 yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo 2.3 安装o…
1.安装依赖包 yum install -y gcc gcc-c++ readline-devel pcre-devel openssl-devel tcl perl 2.安装OpenResty 首先安装LuaJIT cd /usr/local/softwarewget http://luajit.org/download/LuaJIT-2.0.5.tar.gz tar zxvf LuaJIT-2.0.5.tar.gzcd LuaJIT-2.0.5 make make install expor…
redis 2.8之前的版本,为了实现支持巨量数据缓存或者持久化,一般需要通过redis sharding模式来实现redis集群,普遍大家使用的是twitter开源的Twemproxy. twemproxy不会增加redis的性能指标数据,据业界测算,使用twemproxy相比直接使用redis会带来~10%的性能下降.   但是单个redis进程的内存管理能力有限.据测算,单个redis进程内存超过20G之后,效率会急剧下降.目前,我们给出的建议值是单个redis最好配置在8G以内.8G以上…
文章系列先介绍环境搭建 介绍redis操作和代码编写运行  这是典型的实战工程过程.那么我们为何要使用redis而不是常规的数据库比如 mysql呢? 因为KV内存数据库最大的优势所有数据全部存储在内存中,速度快,而且key-value的特点也决定了他良好的扩展性. 以下几点作为游戏服务器中的应用示例,更多的使用方法可以在实践中继续探索优化 1 数据库缓存 比如前一章节的用户数据,在mysql进行读写和redis上进行读写在大量并发访问的场景下,差别是很大的.Redis提供了较为丰富数据类型,使…
人狠话不多,直接上代码:------------------------------------------------------------------------------------- local headers=ngx.req.get_headers() local clientIP = headers["x-forwarded-for"] or clientIP == "unknown" then clientIP = headers["Pr…
0x00 Nginx 内嵌Lua脚本有下面特点: 20k个并发连接 Lua脚本能够在Nignx 11个层次的不同层次发挥作用,扩展Ngnix功能 Lua速度极快(寄存器指令) 0x01 应用场景 在web server端做请求过滤处理(如:WAF.Anti CC等) 0x02 简单配置过程 測试环境Ubuntu Server 14.04.2 LTS 几个须要下载的模块(注意安装顺序和export路径问题) Nginx 1.7.4 LuaJIT-2.0.4(A Just-In-Time Compi…
当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua 脚本的返回值也会被转换成 Redis 协议(protocol),然后由 EVAL 将值返回给客户端. 数据类型之间的转换遵循这样一个设计原则:如果将一个 Redis 值转换成 Lua 值,之后再将转换所得的 Lua 值转换回 Redis 值,那么这个转换所得的 Redis 值应该和最初时的 Redi…
转载自:https://blog.csdn.net/lzhcoder/article/details/79469123 https://blog.csdn.net/u013374645/article/details/91409150 1.最经典的缓存+数据库读写的模式,cache aside pattern 1.1.Cache Aside Pattern (1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应 (2)更新的时候,先删除缓存,然后再更新数据库…
chapter20 Lua脚本 Redis从2.6版本开始引入对Lua脚本的支持,通过在服务器中嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务器端原子地执行多个Redis命令 20.1 创建并修改Lua环境 创建Lua环境 载入函数库 创建redis全局表格 20.2 Lua环境写作组件 伪客户端 lua_scripts字典 struct redisServer{ /* Scripting */ // Lua 环境 lua_State *lua; /* The Lua inter…