国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

Redis使用Eval多個鍵值自增的操作實例

2024-05-04 23:51:51
字體:
來源:轉載
供稿:網友

在PHP上使用Redis 給多個鍵值進行自增,示例如下:

$set['money'] = $this->redis->hIncrByFloat($key, $hour .'_money', $data['money']);$set['ip'] = $this->redis->hIncrBy($key, $hour .'_ip', $data['ip']);$set['uv'] = $this->redis->hIncrBy($key, $hour .'_uv', $data['uv']);$set['pv'] = $this->redis->hIncrBy($key, $hour .'_pv', $data['pv']);$this->redis->hSet($key, $hour, array($data['money'], $data['ip'], $data['uv'], $data['pv']));

如果這樣寫可能需要請求五次,可以通過 Eval 方法來一次完成,大大提高效率

$script = 'local money = redis.call("hIncrByFloat", KEYS[1], ARGV[1], ARGV[2]);';$script .= 'local ip = redis.call("hIncrBy", KEYS[1], ARGV[3], ARGV[4]);';$script .= 'local uv = redis.call("hIncrBy", KEYS[1], ARGV[5], ARGV[6]);';$script .= 'local pv = redis.call("hIncrBy", KEYS[1], ARGV[7], ARGV[8]);';$script .= 'local val = money ..",".. ip ..",".. uv ..",".. pv;';$script .= 'redis.call("hSet", KEYS[1], ARGV[2], val);';$script .= 'return val;';$result = $this->redis->evaluate($script, [$key, $hour, $hour .'_money', $data['money'], $hour .'_ip', $data['ip'], $hour .'_uv', $data['uv'], $hour .'_pv', $data['pv']], 2);var_dump($result);

Redis 用的 Lua 語法,我也不熟悉,這個字符串拼接方式也很特別的是兩個點號 “..”

money ..",".. ip ..",".. uv ..",".. pv拼接后0.01,1,2,3

以上這篇Redis使用Eval多個鍵值自增的操作實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 哈巴河县| 鹤壁市| 明溪县| 仲巴县| 神农架林区| 渑池县| 永定县| 句容市| 中方县| 合作市| 德昌县| 岢岚县| 将乐县| 利津县| 柘城县| 大英县| 韶关市| 勃利县| 顺义区| 库尔勒市| 普兰县| 民县| 大庆市| 古蔺县| 赣榆县| 泰兴市| 沙雅县| 微山县| 白玉县| 河北省| 泰州市| 南平市| 九龙城区| 崇信县| 石河子市| 台北市| 辽阳县| 江津市| 正宁县| 滦南县| 客服|