牛逼的Redis (REmote DIctionary Server, 遠程字典服務器。):是開源的、高性能的、基于鍵值對的緩存與存儲系統。
同時,還能用于消息隊列、任務隊列。
dict["key"] = "value"; //dict是一個字典結構變量,key是一個鍵,value是一個值。
TTL tile-to-live 生存時間。
一、安裝:
- 下載
redis-3.0.7.tar.gz
到/usr/local
。 - 解壓
sudo tar -zvxf redis-3.0.7.tar.gz
, 重命名文件夾為redis
。 - 進入redis執行編譯測試
sudo make test
- 編譯安裝,
sudo make install
- 執行
redis-server
運行redis。
二、常見配置redis.conf:
-
daemonize yes
#修改為守護模式 -
pidfile /usr/local/redis/redis.pid
#設置進程鎖文件 -
port 6379
#端口 -
timeout 300
#客戶端超時時間 -
loglevel debug
#日志級別 -
logfile /usr/local/redis/log-redis.log
#日志文件位置 -
dir /usr/local/redis/db/
#指定本地數據庫路徑 -
appendonly no
#指定是否在每次更新操作后進行日志記錄,Redis在默認情況下是異步的把數據寫入磁盤,如果不開啟,可能會在斷電時導致一段時間內的數據丟失。因為 redis本身同步數據文件是按上面save條件來同步的,所以有的數據會在一段時間內只存在于內存中. -
appendfsync everysec
#指定更新日志條件,共有3個可選值:no:表示等操作系統進行數據緩存同步到磁盤(快),always:表示每次更新操作后手動調用fsync()將數據寫到磁盤(慢,安全), everysec:表示每秒同步一次(折衷,默認值).
三、常見命令:
-
redis-server;
//啟動Redis -
redis-server --port 6379;
//啟動Redis,端口為6379,默認就是6379 -
redis-cli;
//進入Redis命令環境 -
redis-benchmark;
//Redis性能測試 -
redis-check-aof;
//AOF文件修復工具 -
redis-check-dump;
//RDB文件修復工具 -
redis-sentinel;
//Sentinel服務器(僅在2.8版以后) -
redis-cli;
//進入Redis命令模式 -
redis-cli shutdown;
//關閉Redis -
redis-cli ping;
//測試Redis聯通性 -
redis-cli -h 127.0.0.1 --p 6379;
//自定義Redis連接的IP和端口 -
redis-server ./redis.conf;
//啟動Redis,并加載配置文件 -
redis> config get loglevel
// 獲取Redis的配置等信息。
四、使用:
<?php
// 連接Redis
$redis = new redis();
$redis->connect('localhost');
if ($_GET) {
$redis->set("name", $_GET['name']);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>NAME</title>
</head>
<body>
<?php if($redis->get('name')): ?>
<p>您的名字是:</p>
<?php echo $redis->get('name'); ?>
<?php else: ?>
<p>請輸入您的名字:</p>
<form action="index.php" method="GET">
<input type="text" name="name">
<button type="submit">提交啊</button>
</form>
<?php endif; ?>
</body>
</html>
五、建議:
- 鍵名: 最好是“對象類型:對象ID:對象屬性”,例如
post:23:page.view