<?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); ?>
不存在現成的方法
如果要實現你說的功能
一般來說 還是按照正常的方法通過insert 或remove對表進行值的增減
然後再額外的對表進行一個監聽 當達到規定時間的時候,remove掉相關的值
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('*'));
望采納,謝謝支持!