1. 程式人生 > >Redis輕快入門

Redis輕快入門

integer 一個 獲取 遠程 string類 list 正是 問題 lib

技術分享

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的元素

Redis輕快入門