PHP 開發 APP 介面 --Redis篇
Redis 可以定期將資料備份到磁碟中(持久化),同時不僅僅支援簡單的key/value 型別的資料,同時還提供list,set,hash等資料結構的儲存;Memcache 只是簡單的key/value 快取。
① 開啟 redis 服務:
[[email protected] bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
② 開啟 redis 終端:
[[email protected] bin]# ./redis-cli
③ 設定快取值:
127.0.0.1:6379> set index-mk-cache '資料'
④ 獲取快取資料:
127.0.0.1:6379> get index-mk-cache
當獲取一個不存在的值時返回 nil:
⑤ 設定過期時間(用處非常多):
127.0.0.1:6379> setex key 10 'cache'
時間單位為秒
⑥ 刪除快取:
127.0.0.1:6379> del key
刪除成功時返回 1。
PHP 操作 Redis
① 安裝 phpredis 擴充套件
把 owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 複製到 /root 目錄下
tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz cd owlient-phpredis-90ecd17/ /usr/local/php/bin/phpize # 如果 上一個命令報錯則執行 yum install autoconf ./configure --with-php-config=/usr/local/php/bin/php-config make make install
安裝完成後顯示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
修改 php.ini
vi /usr/local/php/lib/php.ini
#查詢extension_dir,修改為 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
#新增redis
extension = redis.so
#重啟apache
/usr/local/apache2/bin/apachectl restart
② php 連結redis 服務-connect(127.0.0.1,6379)
③ set 設定快取
在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 setCache.php
vim setCache.php
setCache.php
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->set('name','dee');
然後在命令列中執行php 檔案:
/usr/local/php/bin/php -f setCache.php
進入 redis 終端:
/usr/local/redis/bin/redis-cli
獲取剛才設定的值:
get name
設定成功。
④ get 獲取快取
在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 getCache.php
vim getCache.php
getCache.php
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); var_dump($redis->get('name'));
執行檔案:
/usr/local/php/bin/php -f getCache.php
php 獲取redis 快取成功。
再例,設定快取失效時間。編輯 setCache.php:
vim setCache.php
setCache.php
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->setex('name',10,'emperor');
執行 setCache.php 和 getCache.php
擴充套件:把redis 的操作封裝成類。
① 開啟 redis 服務:
[[email protected] bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
② 開啟 redis 終端:
[[email protected] bin]# ./redis-cli
③ 設定快取值:
127.0.0.1:6379> set index-mk-cache '資料'
④ 獲取快取資料:
127.0.0.1:6379> get index-mk-cache
當獲取一個不存在的值時返回 nil:
⑤ 設定過期時間(用處非常多):
127.0.0.1:6379> setex key 10 'cache'
時間單位為秒
⑥ 刪除快取:
127.0.0.1:6379> del key
刪除成功時返回 1。
PHP 操作 Redis
① 安裝 phpredis 擴充套件
把 owlient-phpredis-2.1.1-1-g90ecd17.tar.gz 複製到 /root 目錄下
tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz cd owlient-phpredis-90ecd17/ /usr/local/php/bin/phpize # 如果 上一個命令報錯則執行 yum install autoconf ./configure --with-php-config=/usr/local/php/bin/php-config make make install
安裝完成後顯示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
修改 php.ini
vi /usr/local/php/lib/php.ini
#查詢extension_dir,修改為 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
#新增redis
extension = redis.so
#重啟apache
/usr/local/apache2/bin/apachectl restart
② php 連結redis 服務-connect(127.0.0.1,6379)
③ set 設定快取
在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 setCache.php
vim setCache.php
setCache.php
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->set('name','dee');
然後在命令列中執行php 檔案:
/usr/local/php/bin/php -f setCache.php
進入 redis 終端:
/usr/local/redis/bin/redis-cli
獲取剛才設定的值:
get name
設定成功。
④ get 獲取快取
在 /usr/local/apache2/htdocs/App 下新建一個 php 程式 getCache.php
vim getCache.php
getCache.php
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); var_dump($redis->get('name'));
執行檔案:
/usr/local/php/bin/php -f getCache.php
php 獲取redis 快取成功。
再例,設定快取失效時間。編輯 setCache.php:
vim setCache.php
setCache.php
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->setex('name',10,'emperor');
執行 setCache.php 和 getCache.php
擴充套件:把redis 的操作封裝成類。