Redis是一個開源的使用ANSI C語言編寫、支援網絡、可基于記憶體亦可持久化的日志型、Key-Value資料庫,并提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。Redis是一個開源的使用ANSI C語言編寫、支援網絡、可基于記憶體亦可持久化的日志型、Key-Value資料庫,并提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。
一、安裝Redis
- Redis配置檔案:/etc/redis.conf
- Redis主程式:/usr/bin/redis-server
- 用戶端工具:/usr/bin/redis-cli
- 預設監聽端口:6379
- 資料目錄:/var/lib/redis
- 服務腳本:/usr/lib/systemd/system/redis.service
yum install redis # 基于CentOS7的epel源
二、連接配接Redis
Redis的用戶端指令工具為
redis-cli
,預設連接配接本地的Redis服務。
如果需要遠端連接配接則使用
redis-cli -h HOST -p PORT -a PASSWD
[root@cache1 ~]# redis-cli
127.0.0.1:6379> ping # 使用ping指令測試與服務的連接配接性
PONG # 服務端回複pong則說明網絡連接配接沒有問題
三、Redis資料類型
-
String(字元串)
string是redis最基本的類型,你可以了解成與Memcached一模一樣的類型,一個key對應一個value。
string類型是二進制安全的。意思是redis的string可以包含任何資料。比如jpg圖檔或者序列化的對象 。
string類型是Redis最基本的資料類型,一個鍵最大能存儲512MB。
-
Hash(哈希)
Redis hash 是一個鍵值(key=>value)對集合。
Redis hash是一個string類型的field和value的映射表,hash特别适合用于存儲對象。
-
List(清單)
Redis 清單是簡單的字元串清單,按照插入順序排序。你可以添加一個元素到清單的頭部(左邊)或者尾部(右邊)。 -
Set(集合)
Redis的Set是string類型的無序集合。
集合是通過哈希表實作的,是以添加,删除,查找的複雜度都是O(1)。
-
zset(sorted set:有序集合)
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重複的成員。
不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
zset的成員是唯一的,但分數(score)卻可以重複。
四、擷取幫助
help @ + 輕按兩下tab # 輕按兩下tab會出現各種子指令的幫助
help @string # 字元串相關的配置
help @list # 清單相關的配置;清單類似于數組
help @set
help @hash
......
五、List相關的指令
其他幾個資料類型比較簡單,通過幫助就能獲得指令的使用方法。最簡單的辦法就是百度。由于List相關的指令僅僅看幫助的話很難了解一些操作,是以拿出來單獨講講最常用的幾個指令
示例:
127.0.0.1:6379> LPUSH stu aubin # LPUSH,向清單左側添加元素,清單不存在自動建立
(integer) 1
127.0.0.1:6379> RPUSH stu 22 # RPUSH,向清單右側添加元素,清單不存在則自動建立
(integer) 2
127.0.0.1:6379> RPUSHX stu nan # RPUSHX,如果清單存在則右側添加元素
(integer) 3
127.0.0.1:6379> LPUSHX stu linux # LPUSHX,如果清單存在則左側添加元素
(integer) 4
127.0.0.1:6379> LRANGE stu 0 10 # LRANGE,顯示名為stu的清單的0-10個值
1) "aubin"
2) "22"
3) "nan"
4) "linux"
LPOP stu # 左彈,删除名為stu清單中的第一個元素
RPOP stu # 右彈,删除名為stu清單中的最後一個元素
LREM stu 3 aubin # 從頭到尾删除3個值為aubin的元素
LREM stu -3 aubin # 從尾到頭删除3個值為aubin的元素
LREM stu 0 aubin # 删除所有值為aubin的元素