程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Php+Redis 實現Redis提供的lua腳本功能,redislua

Php+Redis 實現Redis提供的lua腳本功能,redislua

編輯:關於PHP編程

Php+Redis 實現Redis提供的lua腳本功能,redislua


<?php
  require_once "predis-0.8/autoload.php";
  $config['schema'] = 'tcp';
  $config['host']= "192.168.1.7";
  $config['port'] = 6379;
  $redis = new Predis\Client($config);
  class wode extends Predis\Command\ScriptedCommand {
    public function getKyesCount(){
      return false;
    }
    public function getScript(){
      return 
<<<LUA
local result = {}
for i,v in ipairs(KEYS) do
  result[i] = redis.call("HGETALL",v)
end
return result
LUA;
    }
  }
  $redis->getProfile()->defineCommand('ri','wode');
  $a = $redis->ri(0,'tt1','tt2','tt3');
  print_r($a);
?>

用lua 給redis 中塞值要怎設置有效時間

不存在現成的方法

如果要實現你說的功能
一般來說 還是按照正常的方法通過insert 或remove對表進行值的增減
然後再額外的對表進行一個監聽 當達到規定時間的時候,remove掉相關的值
 

php redis 怎解決回復功可以

redis會將數據存儲在內存中,斷電丟失。這個要注意一下,如有必要就做個持久化。持久化的方法一言難盡,可以參考網上的文章。

php的redis擴展叫php-redis。網上有php-redis的中文手冊,下面給你一個示例:
<?php$redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); // 6379是默認端口$result = $redis->set('9639002718',"comment"); // 設置鍵值echo $result = $redis->get('9639002718'); // 獲取鍵值$all = $redis->getMultiple(array('9639002718', '9639002718')); // 同時獲得多個鍵值// 沒有提供獲得所有鍵值的方法。下面這句我不確定是否能用,你可以試一試。$all = $redis->getMultiple(array('*'));
望采納,謝謝支持!

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved