一、redis介紹
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的values類型相對更多,包括字符串、列表、哈希散列表、集合,有序集合。
這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
本質:將數據保存在內存中
用途:redis可以做緩存;redis可以做消息隊列
特性:
- 可以做持久化:在配置文件設置,如果你要保存到文件,可添加設置,就算電腦不小心關機了,數據還是在的。這個要不要保存都是自己來定的。
- 支持存放數據的格式多(5種格式)
{ 'k1':'hiayna', #第一種字符串格式 'k2':[11,22,33,44], #第二種列表格式 'k3':{11,22,33,44}, #第三種集合格式 'k4':{ #第四種,字典,也可以叫做哈希散列表, 'n1':'xxx', 'n2':'fff' }, 'k5':{(11,1),('xxx':5)} #有序集合 }
二、相關問題
1、為什么要使用redis?使用redis有哪些好處?
(1) 速度快,因為數據存在內存中,類似於HashMap,HashMap的優勢就是查找和操作的時間復雜度都是O(1) (2) 支持豐富數據類型,支持string,list,set,sorted set,hash (3) 支持事務,操作都是原子性,所謂的原子性就是對數據的更改要么全部執行,要么全部不執行 (4) 豐富的特性:可用於緩存,消息,按key設置過期時間,過期后將會自動刪除
2、redis相比memcached有哪些優勢?
(1) memcached所有的值均是簡單的字符串,redis作為其替代者,支持更為豐富的數據類型 (2) redis的速度比memcached快很多 (3) redis可以持久化其數據
三、redis的安裝
方式一:硬盤免安裝
wget http://download.redis.io/releases/redis-3.0.6.tar.gz #下載 tar xzf redis-3.0.6.tar.gz #解壓 cd redis-3.0.6 #切換到redis make #安裝
啟動服務端
src/redis-server
啟動客戶端
src/redis-cli redis> set foo bar OK redis> get foo "bar"
方式二:安裝包
yum install redis /etc/init.d/redis start #開啟 /etc/init.d/redis restart #重啟 配置:/etc/redis/redis.conf #默認會讀取這個文件去運行
方式三:rpm安裝
公司說你安裝以下redis
有兩種情況:
1、直接給你rpm包
2、或者說你直接yum install redis
- 安裝公司自定制
- 安裝官方
ls #查看 ctrl+c #停止 結束進程(找服務器並殺掉): ps -e|grep redis #殺掉 kill -9 12343 #重新運行
遠程操作rdis的模塊(模塊的本質是通過socket進行通信的)
mysql的端口:3306
redis的端口:6379
四、Python操作Redis
sudo pip install redis or sudo easy_install redis or 源碼安裝 詳見:https://github.com/WoLpH/redis-py