diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 0637c4e..b91b627 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -3,7 +3,6 @@
-
@@ -14,13 +13,18 @@
-
+
+<<<<<<< Updated upstream
+=======
+
+
+>>>>>>> Stashed changes
@@ -54,7 +58,7 @@
-
+
@@ -67,6 +71,7 @@
+<<<<<<< Updated upstream
@@ -85,10 +90,13 @@
+=======
+
+>>>>>>> Stashed changes
-
+
@@ -224,7 +232,8 @@
1491962114906
-
+
+
1492055386915
@@ -240,11 +249,22 @@
1492081028740
-
+
+ 1492082235236
+
+
+
+ 1492082235236
+
+
+<<<<<<< Updated upstream
+=======
+
+>>>>>>> Stashed changes
@@ -254,12 +274,17 @@
+<<<<<<< Updated upstream
+=======
+
+
+>>>>>>> Stashed changes
-
+
@@ -309,8 +334,13 @@
+<<<<<<< Updated upstream
+=======
+
+
+>>>>>>> Stashed changes
diff --git a/Openresty/lua-common-package/lua-require.md b/Openresty/lua-common-package/lua-require.md
index 174ddfa..dfac031 100644
--- a/Openresty/lua-common-package/lua-require.md
+++ b/Openresty/lua-common-package/lua-require.md
@@ -1,7 +1,12 @@

### Lua require 相对路径
+ [Lua require 相对路径 博客园详解](http://www.cnblogs.com/smallboat/p/5552407.html)
-+ 亲自试验总结
++ 相对路径总结
+ + **当前目录** :`/opt/openresty/nginx/conf/Lua`
+ + 注意:如果在当前没有了,以下的代码运行是没有问题的
+ + 就是所有的lua脚本代码全部写在Lua文件夹下面去
+ + 拼接路径:`package.path = package.path ..';..\\?.lua';`
+ + require 直接这样应用就是`Lua.functions`
+ 目录结构
```
root@tinywan:/opt/openresty/nginx/conf/Lua# pwd
@@ -54,4 +59,48 @@
root@tinywan:/opt/openresty/nginx/conf/Lua# curl '127.0.0.1:80/api'
Hello
102
- ```
\ No newline at end of file
+ ```
++ 绝对路径总结
+ + 目录结果:`/opt/openresty/nginx/lua/resty`
+ + 包路径:`package.path = package.path ..'/opt/openresty/nginx/lua/resty/?.lua;/opt/openresty/lualib/?.lua';`
+ + 加载绝对路径的Redis的二次封装库,redis_iresty.lua文件:
+ ```
+ package.path = package.path ..'/opt/openresty/nginx/lua/resty/?.lua;/opt/openresty/lualib/?.lua';
+ local redis_c = require "resty.redis"
+ local ok, new_tab = pcall(require, "table.new")
+ if not ok or type(new_tab) ~= "function" then
+ new_tab = function (narr, nrec) return {} end
+ end
+ ```
+ + Redis的二次封装库的应用,test_redis2.lua文件:
+ ```
+ package.path = '/opt/openresty/nginx/lua/?.lua;';
+ local redis = require("resty.redis_iresty")
+ local red = redis:new()
+ local ok, err = red:set("Redis1999", "Redis is an animal 1999")
+ if not ok then
+ ngx.say("failed to set dog: ", err)
+ return
+ end
+ ```
+ + nginx.conf 配置文件(注意以下的目录路径和上面的不一样)
+ ```
+ location /api {
+ lua_code_cache off;
+ content_by_lua_file /opt/openresty/nginx/lua/test_redis2.lua;
+ }
+ ```
+ + CURL 请求结果
+ ```
+ root@tinywan:/opt/openresty/nginx/conf/Lua# curl '127.0.0.1:80/api'
+ Hello
+ 102
+ ```
+ + Redis 数据库结果
+ ```
+ 127.0.0.1:6379> keys *
+ 1) "dog"
+ 2) "Redis2222222222"
+ 3) "Redis1999"
+ ```
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 065fbfa..3cdcddb 100644
--- a/README.md
+++ b/README.md
@@ -272,18 +272,18 @@
```
.
├── conf
- │ ├── nginx.conf
+ │ ├── nginx.conf -- Nginx 配置文件
├── logs
- │ ├── error.log
+ │ ├── error.log -- Nginx 错误日子
│ └── nginx.pid
├── lua
- │ ├── access_check.lua
- │ ├── addition.lua
- │ ├── subtraction.lua
- │ ├── multiplication.lua
- │ ├── division.lua
- │ └── comm
- │ └── param.lua
+ │ ├── access_check.lua -- 权限验证文件
+ │ ├── business_redis.lua -- 业务 Redis 处理文件
+ │ ├── business_redis.lua -- 业务 Redis 处理文件
+ │ ├── ...
+ │ └── resty -- 存放Lua 的所有公共、封装好的库
+ │ └── redis_iresty.lua -- Redis 接口的二次封装
+ │ └── param.lua -- 参数过滤库
└── sbin
└── nginx
```
@@ -327,7 +327,7 @@
The man name is Tinywan
The man name is Phalcon
```
- + [Lua require 相对路径(一个文件引入另外一个文件的Function),已经解决](https://github.com/Tinywan/Lua-Nginx-Redis/blob/master/Openresty/lua-common-package/lua-require.md)
+ + [Lua require 绝对和相对路径问题(一个文件引入另外一个文件的Function),已经解决](https://github.com/Tinywan/Lua-Nginx-Redis/blob/master/Openresty/lua-common-package/lua-require.md)
+ lua-resty-redis 扩展
+ 代码引入:`lua_package_path "/opt/openresty/nginx/lua/lua-resty-redis/lib/?.lua;;";`
+ **Lua脚本实现一个CDN的反向代理功能(智能查找CDN节点)(测试成功,可上线)**