什麼是redis?
remote dictionary server 縮寫
乙個基於記憶體的網路儲存系統
豐富的資料結構(sets, sorted sets,hashes, list ...)
本質是key-value,但是與memcached不同的是,value的型別得到了擴充套件
用hashes儲存字段
$user = array(
'id' => 123,
'name' => 'joyqi',
'mail' => '[email protected]',
'created' => 1212312312
);$redis->hmset(『user:123』, $user);
print_r($redis->hgetall(『user:123』));
[root@localhost redis]# php db1.php
array (
[id] => 123
[name] => goith
[age] => 12 )
用sets儲存關係
<?php$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$questionid = 123;
$tagids = array(11,22,33);
foreach( $tagids as $sort=>$tagid)
$val = $redis->zrange('question_tag:123',0,-1);
print_r($val);
print_r("\n");
[root@localhost redis]# php db2.php
array
([0] => 11
[1] => 22
[2] => 33)
有了redis,支援實時搜
索的門檻被大大降低
分詞加redis集合實現索引
$questiontitle = 『搜尋技術』;$questionid = 123;
$words = fenci($questiontitle); // array(『搜尋』, 『技術』);
foreach ($words as $word)
// 索引完成
redis集合union操作實現查詢
$keywords = 『怎樣實現搜尋技術』;$words = fenci($keywords); // array(『怎樣』, 『實現』, 『搜尋』, 『技術』);
$indexes = array_map(function ($word) , $words);
$redis->zunion(『result』, $indexes, array_fill(0, count($indexes), 1),
『sum』);
print_r($redis->zrevrange(『result』, 0, -1));
php操作redis php操作redis
redis類和redi ception類 redis類用於建立redis客戶端 redis new redis 如果無法訪問redis伺服器,會丟擲redi ception異常物件 連線問題,redis服務已關閉,或者redis主機過載等 在任何其他不涉及無法訪問的伺服器 如金鑰不正確,無效命令等 ...
PHP 操作 redis 手冊
本文為網上查詢資料,修改作為筆記記載,為什麼用 redis 不用 memcached?memcached存放資料無法持久化 將資料寫到硬碟中 redis資料也是存放到記憶體中,所以速度快。並且資料可以週期性寫到硬碟中,redis資料可以持久化。redis有五種資料型別 字串 string list ...
php操作redis例項
1 獲取所有key,不包括值 redis keys 2 獲取乙個或多個key的值,不限制資料型別 redis mget key1,key2 引數為陣列 3 設定指定key的生命週期 redis expire key,30 設定生命週期為30秒 4 獲取指定key的剩餘生命週期 redis ttl k...