Redis是一個開源的使用ANSI C語言編寫、支持網路、可基於記憶體亦可持久化的日誌型、Key Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。Redis是一個開源的使用ANSI ...
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的元素