菜鳥一枚,如果有不對的地方歡迎指出狐蜕!
Redis簡介
Redis是完全開源的,遵循BSD協(xié)議(BSD協(xié)議是可以自由使用源碼修改代碼再發(fā)布的一個協(xié)議),是一個高性能的key-value數(shù)據(jù)庫.
redis和其他key-value緩存產(chǎn)品有一下三個特點:
1.redis支持數(shù)據(jù)的持久化甚亭,可以將內存中的數(shù)據(jù)保存在磁盤中白对。(memcache保存在內存中)
2.redis不僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list简烘,set苔严,zset,hash等數(shù)據(jù)結構的存儲孤澎。(memcache只支持key-value值届氢,不過即使支持的數(shù)據(jù)類型再多,本質還是沒有區(qū)別的)
3.redis支持數(shù)據(jù)的備份覆旭,即master-slave退子。(master-slave主仆模式:從一個Mysql instace【稱之為Master】復制到另一個Mysql instance【稱之Slave】)aof/快照恢復
4.單線程請求,所有的命令串執(zhí)行,并發(fā)情況下不需要考慮數(shù)據(jù)的一致性問題.
5.執(zhí)行pub/subscribe消息訂閱機制,可以用來進行消息訂閱與通知.
6.支持簡單的事務需求,但業(yè)界使用場景很少,并不成熟。
redis的優(yōu)勢
1.性能極高 --- Redis能讀的速度是110000次/s,寫的速度是81000次每秒,所以redis讀的速度遠大于寫的速度姐扮。
2.豐富的數(shù)據(jù)類型 ---Redis支持二進制案例的string絮供,list,hash茶敏,sset及ordered ssets數(shù)據(jù)類型的操作壤靶。
3.原子性 ---Redis的索引操作都是原子性的,意思就是要買成功要買失敗完全不執(zhí)行惊搏。
4.豐富的特性 ---Redis還支持publish贮乳、subscribe等特性
php使用redis
安裝redis擴展
$wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz
$ cd phpredis-3.1.4 # 進入 phpredis 目錄
$ /usr/local/php/bin/phpize # php安裝后的路徑
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install
修改php.ini文件
vi /usr/local/php/lib/php.ini
添加如下內容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"
extension=redis.so
重啟php-fpm
連接redis服務器
? ? <?php
//連接本地的 Redis 服務?
$redis = new Redis();? $redis->connect('127.0.0.1', 6379);?
echo "Connection to server sucessfully";? ? ? ? //查看服務是否運行?
echo "Server is running: " . $redis->ping();
?>
結果:Connection to server sucessfullyServer is running: PONG
redis php 字符串string實例
<?php
? //連接本地的 Redis 服務?
$redis = new Redis();? $redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";? //設置 redis 字符串數(shù)據(jù)?
$redis->set("tutorial-name", "Redis tutorial");? // 獲取存儲的數(shù)據(jù)并輸出?
echo "Stored string in redis:: " . $redis->get("tutorial-name");
?>
執(zhí)行結果:Connection to server sucessfullyStored string in redis:: Redis tutorial
redis list(列表)實例
$redis->lpush("tutorial-list", "Redis");//存儲
$redis->lrange('tutorial-list');//輸出
php keys實例
$arList = $redis->keys("*");
echo "Stored keys in redis:: ";
print_r($arList);
今天暫時就到這里....