欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2018年10月15日 09:57:40   作者:jingtan  
這篇文章主要給大家介紹了關于phpredis執(zhí)行LUA腳本的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

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

示例代碼

$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個KEYS參數,1個ARGV參數。 KEYS參數是字符串,單詞之間用 | 分割。

lua腳本最后將查詢結果存入 ARGV參數指定的key中,并返回結果set的成員個數。

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

參考網頁: https://github.com/phpredis/phpredis/blob/develop/tests/RedisTest.php

總結

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

相關文章

  • 詳解Lua中的數據類型

    詳解Lua中的數據類型

    這篇文章主要介紹了Lua中的數據類型,是Lua入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Lua中的協(xié)同程序探究

    Lua中的協(xié)同程序探究

    這篇文章主要介紹了Lua中的協(xié)同程序探究,本文講解了什么是協(xié)同程序、創(chuàng)建協(xié)同程序、更像樣的協(xié)同程序、讓協(xié)同程序掛起、resume操作的返回值,需要的朋友可以參考下
    2014-09-09
  • Lua協(xié)同程序coroutine的簡介及優(yōu)缺點

    Lua協(xié)同程序coroutine的簡介及優(yōu)缺點

    今天小編就為大家分享一篇關于Lua協(xié)同程序coroutine的簡介及優(yōu)缺點,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Lua編程示例(一):select、debug、可變參數、table操作、error

    Lua編程示例(一):select、debug、可變參數、table操作、error

    這篇文章主要介紹了Lua編程示例(一):select、debug、可變參數、table操作、error,本文直接給出代碼實例,需要的朋友可以參考下
    2015-07-07
  • lua文件操作詳解

    lua文件操作詳解

    Lua中關于文件處理操作是本文要介紹的內容,主要是來了解并學習lua中文件的相關操作,具體內容的實現(xiàn)來看本文詳解。
    2016-03-03
  • Lua 中 pairs 和 ipairs 的區(qū)別

    Lua 中 pairs 和 ipairs 的區(qū)別

    這篇文章主要介紹了Lua 中 pairs 和 ipairs 的區(qū)別,本文用官方文檔和代碼實例總結了它的們的區(qū)別,需要的朋友可以參考下
    2014-09-09
  • 使用Lua來擴展C++程序的方法

    使用Lua來擴展C++程序的方法

    這篇文章主要介紹了使用Lua來擴展C++程序的方法,盡管更多的時候人們或許會想用C++來擴展Lua...需要的朋友可以參考下
    2015-07-07
  • 把Lua函數傳遞到C/C++中實例

    把Lua函數傳遞到C/C++中實例

    這篇文章主要介紹了把Lua函數傳遞到C/C++中實例,本文先是分析了需求,然后給出解決方法,需要的朋友可以參考下
    2014-11-11
  • Lua中使用二維數組實例

    Lua中使用二維數組實例

    這篇文章主要介紹了Lua中使用二維數組實例,本文直接給出代碼實例,看代碼更容易理解,需要的朋友可以參考下
    2015-06-06
  • Lua中的數學庫總結

    Lua中的數學庫總結

    這篇文章主要介紹了Lua中的數學庫總結,本文羅列了Lua5.1中數學庫的所有函數,需要的朋友可以參考下
    2014-11-11

最新評論