redis是一個key-value存儲系統。和Memcached相似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。redis
Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合能夠對關係數據庫起到很好的補充做用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。數據庫
我用的是centos5.4搭建的,其中gcc等環境已配置好centos
1 安裝tcl,由於redis依賴tcl緩存
yum -y install tcl安全
2安裝redisapp
到redis官網下載redis,我用的是redis.2.8.13.tar.gzide
mv redis-2.8.13.tar.gz /tmpmemcached
cd /tmp/
ls
tar -zxvf redis-2.8.13.tar.gz性能
cd redis-2.8.13測試
make && make install
安裝時能夠看下readme,這是一個很好的習慣
./runtest測試發現沒有問題
mv redis.conf /etc/redis.conf
3redis的運行和關閉
運行 redis-server /etc/redis.conf
關閉 redis-cil shutdown
4redis配置文件詳解
daemonize yes #之後臺daemon方式運行redis
pidfile "/var/run/redis.pid" #redis之後臺運行,默認pid文件路徑/var/run/redis.pid
port 6379 #默認端口
bind 127.0.0.1 #默認綁定本機全部ip地址,爲了安全,能夠只監聽內網ip
timeout 300 #客戶端超時設置,單位爲秒
loglevel verbose #設置日誌級別,支持四個級別:debug、notice、verbose、warning
logfile stdout #日誌記錄方式,默認爲標準輸出,logs不寫文件,輸出到空設備/deb/null
logfile "/usr/local/redis/var/redis.log" #能夠指定日誌文件路徑
databases 16 #開啓數據庫的數量
save 900 1
save 300 10
save 60 10000
建立本地數據庫快照,格式:save * *
900秒內,執行1次寫操做
300秒內,執行10次寫操做
60秒內,執行10000次寫操做
rdbcompression yes #啓用數據庫lzf壓縮,也能夠設置爲no
dbfilename dump.rdb #本地快照數據庫名稱
dir "/usr/local/redis/var/" #本地快照數據庫存放目錄
requirepass zhanghe #設置redis數據庫鏈接密碼
maxclients 10000 #同一時間最大客戶端鏈接數,0爲無限制
maxmemory 1024MB #設定redis最大使用內存,值要小於物理內存,必須設置
appendonly yes #開啓日誌記錄,至關於MySQL的binlog
appendfilename "appendonly.aof" #日誌文件名,注意:不是目錄路徑
appendfsync everysec #每秒執行同步,還有兩個參數always、no通常設置爲everysec,至關於MySQL事物日誌的寫
5驗證
redis-cli -a zhanghe 注意-a後面跟的是redis數據庫的密碼,密碼錯誤也能進去,可是不能進行操做,會顯示驗證失敗
redis-cli -a redis
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> 127.0.0.1:6379> s127.0.0.1:6379> se127.0.0.1:6379> set127.0.0.1:6379> set 127.0.0.1:6379> set s127.0.0.1:6379> set ss127.0.0.1:6379> set ss 127.0.0.1:6379> set ss z127.0.0.1:6379> set ss zh127.0.0.1:6379> set ss zha127.0.0.1:6379> set ss zhan127.0.0.1:6379> set ss zhang127.0.0.1:6379> set ss zhangh127.0.0.1:6379> set ss zhanghe
OK
127.0.0.1:6379> 127.0.0.1:6379> g127.0.0.1:6379> ge127.0.0.1:6379> get127.0.0.1:6379> get 127.0.0.1:6379> get s127.0.0.1:6379> get ss
"zhanghe"
至此,配置完成