主頁 > 知識(shí)庫 > phpredis執(zhí)行LUA腳本示例代碼

phpredis執(zhí)行LUA腳本示例代碼

熱門標(biāo)簽:昆明電話外呼系統(tǒng)好么 免費(fèi)門店地圖標(biāo)注注冊入駐 杞縣地圖標(biāo)注app 外呼系統(tǒng)一天耗費(fèi)多少流量 ??谥悄苷Z音電銷機(jī)器人好用嗎 艾比利外呼系統(tǒng) 陜西便宜電銷機(jī)器人軟件 電話機(jī)器人每天搜索多少次 衡水外呼線路解決

前言

本文主要給大家介紹了關(guān)于phpredis執(zhí)行LUA腳本的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧

示例代碼

$lua = EOT
 local kws = {}
 local lrkws = {}
  local nkws = {}
  local kw_ids = {}
  local lr_ids = {}
  local n_ids = {}

  for kw in string.gmatch(KEYS[1], "[^|]+") do
   table.insert(kws, "kw:"..kw)
  end
  for kw in string.gmatch(KEYS[2], "[^|]+") do
   table.insert(lrkws, "lrkw:"..kw)
  end
  for kw in string.gmatch(KEYS[3], "[^|]+") do
   table.insert(nkws, "nkw:"..kw)
  end

  if #kws > 0 then
   kw_ids = redis.call('sinter', unpack(kws))
  end
  if #lrkws > 0 then
   lr_ids = redis.call('sinter', unpack(lrkws))
  end
  if #nkws > 0 then
   n_ids = redis.call('sinter', unpack(nkws))
  end
  local cache_key = ARGV[1]

  for _, v in ipairs(kw_ids) do
   redis.call('sadd', cache_key, v)
  end
  for _, v in ipairs(lr_ids) do
   redis.call('sadd', cache_key, v)
  end
  for _, v in ipairs(n_ids) do
   redis.call('sadd', cache_key, v)
  end
  redis.call('expire', cache_key, 600)
  return redis.call('scard', cache_key)
EOT;

 $ret = $redis->eval($lua, array("你好|謝謝", "", "hello", "cache_key"), 3);
 echo $ret;

例子中傳入3個(gè)KEYS參數(shù),1個(gè)ARGV參數(shù)。 KEYS參數(shù)是字符串,單詞之間用 | 分割。

lua腳本最后將查詢結(jié)果存入 ARGV參數(shù)指定的key中,并返回結(jié)果set的成員個(gè)數(shù)。

需要注意的是, eval函數(shù)的第3個(gè)參數(shù)為KEYS個(gè)數(shù)。 phpredis依據(jù)此值將KEYS和ARGV做區(qū)分。

參考網(wǎng)頁: https://github.com/phpredis/phpredis/blob/develop/tests/RedisTest.php

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • php提高腳本性能的4個(gè)技巧
  • PHP終止腳本執(zhí)行的實(shí)例代碼
  • PHP實(shí)現(xiàn)文件上傳后臺(tái)處理腳本
  • phpstudy后門rce批量利用腳本的實(shí)現(xiàn)
  • 實(shí)例說明js腳本語言和php腳本語言的區(qū)別
  • 使用phpstorm對docker中的腳本進(jìn)行debug的方法
  • php-fpm服務(wù)啟動(dòng)腳本的方法
  • PHP調(diào)用ffmpeg對視頻截圖并拼接腳本
  • PHP終止腳本運(yùn)行三種實(shí)現(xiàn)方法詳解

標(biāo)簽:西寧 泰安 宿遷 臨滄 昌都 營口 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《phpredis執(zhí)行LUA腳本示例代碼》,本文關(guān)鍵詞  phpredis,執(zhí)行,LUA,腳本,示例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《phpredis執(zhí)行LUA腳本示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于phpredis執(zhí)行LUA腳本示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章