Skip to content

Commit edcc99e

Browse files
committed
推流、分发、节点、CDN智能查找
1 parent 2730b65 commit edcc99e

File tree

3 files changed

+29
-11
lines changed

3 files changed

+29
-11
lines changed
Loading

Lua-Nginx/redis-livenode/redis-livenode-streamid.lua

+24-6
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,43 @@
1+
-- 接受Nginx传递进来的参数$1 也就是SteamName
2+
local stream_a = ngx.var.a
3+
14
local redis = require("resty.redis");
5+
-- 创建一个redis对象实例。在失败,返回nil和描述错误的字符串的情况下
26
local redis_instance = redis:new();
7+
--设置后续操作的超时(以毫秒为单位)保护,包括connect方法
38
redis_instance:set_timeout(1000)
9+
--建立连接
410
local ip = '127.0.0.1'
511
local port = 6379
6-
12+
--尝试连接到redis服务器正在侦听的远程主机和端口
713
local ok,err = redis_instance:connect(ip,port)
814
if not ok then
915
ngx.say("connect redis error : ",err)
1016
return err
1117
end
12-
-- 接受Nginx传递进来的参数$1 也就是SteamName
13-
local stream_id = ngx.var.a
14-
local resp, err = redis_instance:get("msg")
18+
19+
-- 权限验证
20+
local res,err = redis_instance:auth('tinywanredis')
21+
if not res then
22+
ngx.say("failed to authenticate: ", err)
23+
return
24+
end
25+
26+
--数据库选择
27+
redis_instance:select(1)
28+
29+
--调用API获取数据
30+
local resp, err = redis_instance:hget("liveNodeRedis:"..stream_a,'liveNode')
1531
if not resp then
1632
ngx.say("get msg error : ", err)
1733
return err
1834
end
1935

36+
--得到的数据为空处理
2037
if resp == ngx.null then
21-
ngx.say("this is not redis_data")
38+
ngx.say("this is not redis_data") --比如默认值
2239
return nil
2340
end
41+
ngx.var.stream_id = resp
42+
2443

25-
ngx.say("reds get result : ", resp)

Lua-Nginx/redis-livenode/set_by_file.lua

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ local redis_instance = redis:new();
77
--设置后续操作的超时(以毫秒为单位)保护,包括connect方法
88
redis_instance:set_timeout(1000)
99
--建立连接
10-
local ip = '127.0.0.1'
11-
local port = 6379
10+
local ip = '121.41.88.209'
11+
local port = 63789
1212
--尝试连接到redis服务器正在侦听的远程主机和端口
1313
local ok,err = redis_instance:connect(ip,port)
1414
if not ok then
@@ -17,17 +17,17 @@ if not ok then
1717
end
1818

1919
-- 权限验证
20-
local res,err = redis_instance:auth('tinywanredis')
20+
local res,err = redis_instance:auth('tinywanredisamaistream')
2121
if not res then
2222
ngx.say("failed to authenticate: ", err)
2323
return
2424
end
2525

2626
--数据库选择
27-
redis_instance:select(1)
27+
redis_instance:select(2)
2828

2929
--调用API获取数据
30-
local resp, err = redis_instance:hget("liveNodeRedis:"..stream_a,'liveNode')
30+
local resp, err = redis_instance:hget("StreamLiveNodeInnerIp:"..stream_a,'livenode')
3131
if not resp then
3232
ngx.say("get msg error : ", err)
3333
return err

0 commit comments

Comments
 (0)