初學Redis常規操作 PHP

2021-08-01 18:17:24 字數 1637 閱讀 3366

什麼是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...