V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ETiV  ›  全部回复第 239 页 / 共 257 页
回复总数  5128
1 ... 235  236  237  238  239  240  241  242  243  244 ... 257  
2014-01-14 14:52:05 +08:00
回复了 kelvinli 创建的主题 Node.js 求助 关于node服务器 [centeros 6 64位]
用管理权限 `netstat -anpt|grep :9000` 看一下, 最后一列是 pid/process name
2014-01-13 19:43:58 +08:00
回复了 kelvinli 创建的主题 Node.js 求助 关于node服务器 [centeros 6 64位]
listen 到9000端口了? nginx 做的反向代理?
2014-01-13 00:12:45 +08:00
回复了 flydream 创建的主题 问与答 书桌上台灯和笔记本的正确位置应该怎么摆放?
我是台灯照着墙,整个屋都很亮堂了……
2014-01-07 15:01:39 +08:00
回复了 MC 创建的主题 macOS 当发现有Mac App打折/限免,身边没有Mac时大家是怎么做的?
先买下来, 然后回复个帖子: "已买,就差Mac了"
2014-01-04 16:13:36 +08:00
回复了 barbery 创建的主题 问与答 关于redis的pconnect和connect使用场景有什么不同?
Short Version:

如果你的应用/服务, 可以有独立的进程, 使用自己的内存, 就可以放心地用 pconnect.

===============

Story Version:

几个月前, 同事遇到了这么一个 pconnect on php 的坑:

一台机器上跑了俩 HTTP 服务, 分别连接了同一个 Redis 服务器, 使用了的两个 DB.

DB 的结构一样, 但内容不一样.

HTTP 环境用的是 Apache + mod_PHP.

服务 A:

```
$con = pconnect(...);

$con->set(BLAH_KEY, ...);
$con->set(ANOTHER_KEY, ...);

$resp->send($con->get(SOME_KEY));
```

服务 B:

```
$con = pconnect(...);
$con->select(2);

$con->set(BLAH_KEY, ...);
$con->set(ANOTHER_KEY, ...);

$resp->send($con->get(SOME_KEY));
```

俩服务都返回各自 DB 中 SOME_KEY 的结果.

----

A, B服务启动后.

1) 连续访问 A, 返回正常
2) 再连续访问 B, 返回正常
3) 再访问 A, 返回的结果都是 B 的.

----

由于没空细研究 PHP 的 Redis 驱动是怎么写的, 所以当它是个黑盒子吧.

所以猜了一下原因:

驱动模块被 Apache 加载之后, 一直留在内存里.
当使用了 pconnect 后, 驱动将保留这个连接, 和在这个连接上操作过的状态(比如 select), 以备下次使用.

这就导致了 A 的代码中, 由于没有使用 select, 在访问 B 之后, A 中的 Redis 连接还在 B 的 DB 上.

同时, 由于 A, B 代码中对 Redis 的操作不是原子的 (虽然很快), 所以仅仅在 A 上使用 select 也是不安全的.

----

结果就是:

把 A, B 代码里的 pconnect, 改成 connect. 问题解决.

----

也许还可以用的其他解决方法, 来让 pconnect 工作正常(没试):

让驱动认为这是两个不同的 Redis 服务:

-- 再启动一个 Redis 服务, 另外占用一个端口.
-- 做端口转发, 或者本机做一个 TCP 代理.
-- 分配给它不同的 hostname (虽然各 hostname 指向同一个IP), 使驱动保存两个 pconnect 产生的连接.

----

或许, 驱动层更应该做好这些东西, 比如: 按 HOST/PORT/DB 来保留 pconnect 得到的连接.
现在有点儿心的网站都会搞双线路

你需要担心的是你朋友都是什么网络

人家都在网通,就你自己在电信,LoL你就是个坑,斗地主那满场都会是“等花儿谢”
2014-01-03 20:02:43 +08:00
回复了 mantianyu 创建的主题 问与答 为什么这张图片这么火?
…………我特意去了解了一下阶乘的表达方法,以确认我知识里的没错
2014-01-03 17:59:48 +08:00
回复了 xdeng 创建的主题 问与答 shop.github.com里买了件 卫衣 至今没音信 怎么办?
@xdeng AND 只要你去找他, 他都会给你退款.
2014-01-03 17:59:26 +08:00
回复了 xdeng 创建的主题 问与答 shop.github.com里买了件 卫衣 至今没音信 怎么办?
@xdeng 我是买了直接寄到国内地址来的...一对杯子, 一套衣服.
2014-01-03 13:07:29 +08:00
回复了 xdeng 创建的主题 问与答 shop.github.com里买了件 卫衣 至今没音信 怎么办?
他们不让中转

你IP和发货目的地不一样,就会被block。

发邮件吧,从Github的反馈栏目
2014-01-02 23:06:30 +08:00
回复了 wolegequ 创建的主题 VPS 阿里云不需要备案
原理是过滤HTTP请求里的Host header

发现没在白名单里的域名就block
2013-12-30 23:06:29 +08:00
回复了 hileon 创建的主题 iOS 大家用的iOS7以后,都觉得有什么特不爽的地方?
4S,全键盘拼音输入法的纠错跟iOS6比弱爆了!超级不爽!
2013-12-30 13:37:51 +08:00
回复了 leohxj 创建的主题 问与答 求PC下转换Video工具
ffmpeg

-i src.mkv dst.webm
2013-12-29 21:08:19 +08:00
回复了 Lynda 创建的主题 问与答 小女子不才!求毕业设计指导!
因为标题带了个女字,所以回复应该能破百
2013-12-29 21:06:29 +08:00
回复了 jason52 创建的主题 分享发现 你们知道怎样杀猪吗。
肯定穆斯林兄弟……
2013-12-28 01:18:33 +08:00
回复了 lerry 创建的主题 分享发现 拿到了 @along 送的显示器
@skydiver 期待显示器里面的映像能出现内涵物
都没申诉过QQ?

腾讯会要你输入几个以前用过的密码的...
1 ... 235  236  237  238  239  240  241  242  243  244 ... 257  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3592 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 74ms · UTC 11:14 · PVG 19:14 · LAX 03:14 · JFK 06:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.