redis是一個開源的key-value數據庫,其特色就是基於鍵值存儲數據;linux
它又常常被認爲是一個數據結構服務器。由於它的value不只包括基本的string類型還有list,set ,sorted set和hash類型。redis
redis官網地址:https://redis.io/
數據庫
redis服務文件:centos
rpm -ql redis #查看redis安裝後生成的文件信息,如配置文件、日誌文件和服務文件 /etc/redis.conf #主配置文件 /usr/bin/redis-server #redis的服務文件 /usr/bin/redis-sentinel #在配置主從複製和高可用時會用到,sentinel也具備本身的服務unit file和配置文件 /usr/lib/systemd/system/redis.service #啓動redis的unit file /var/lib/redis #redis在磁盤中存放數據的目錄,雖然redis是基於內存數據結構的,但對磁盤依然具備IO操做 /var/run/redis #存放redis運行時pid信息 /var/log/redis #存放redis日誌的
開啓redis服務bash
systemctl start redis.service ss -ntl #redis默認監聽127.0.0.1的TCP 6379端口
redis的客戶端工具:redis-cli服務器
redis-cli -h #查看此客戶端工具的幫助信息 redis-cli #鏈接本機redis直接輸入此命令便可
redis的默認數據庫數據結構
[root@centos7 ~]#redis-cli 127.0.0.1:6379> SELECT 15 OK 127.0.0.1:6379[15]> SELECT 16 (error) ERR invalid DB index #redis默認有16個數據庫,以數字編排,範圍是0-15,默認登錄到0數據庫 #切換庫關鍵字SELECT
redis支持多種數據結構,因此操做也就不一樣ide
127.0.0.1:6379[15]> help [tab|tab tab] #redis的help功能作的很好,不一樣數據類型均可以查找幫助信息
下面咱們根據不一樣的數據結構演示其使用方法工具
string類型數據: 127.0.0.1:6379[15]> SET key1 'hello redis' OK 127.0.0.1:6379[15]> GET key1 "hello redis" #簡單建立一個字符串的鍵值 127.0.0.1:6379[15]> APPEND key1 ',hello linux' (integer) 23 127.0.0.1:6379[15]> GET key1 "hello redis,hello linux" #追加字符串 127.0.0.1:6379[15]> STRLEN key1 (integer) 23 #字符串長度 127.0.0.1:6379[15]> INCR count (integer) 1 127.0.0.1:6379[15]> INCR count (integer) 2 127.0.0.1:6379[15]> INCR count (integer) 3 127.0.0.1:6379[15]> INCRBY count 2 (integer) 5 127.0.0.1:6379[15]> DECR count (integer) 4 127.0.0.1:6379[15]> DECRBY count 3 (integer) 1 #INCR與DECR分別是對value進行加一或者減一,INCRBY和DECRBY分別是對value進行加或者減指定步長的數值 127.0.0.1:6379[15]> GET count "1" 127.0.0.1:6379[15]> DEL count (integer) 1 127.0.0.1:6379[15]> GET count (nil) #刪除鍵
list類型數據: 127.0.0.1:6379[15]> LPUSH number one two three four (integer) 4 127.0.0.1:6379[15]> LINDEX number 0 "four" 127.0.0.1:6379[15]> LINDEX number 3 "one" 127.0.0.1:6379[15]> LINSERT number AFTER one zero (integer) 5 127.0.0.1:6379[15]> LINDEX number 3 "one" 127.0.0.1:6379[15]> LINDEX number 4 "zero" 127.0.0.1:6379[15]> LRANGE number 0 4 1) "four" 2) "three" 3) "two" 4) "one" 5) "zero" #LPUSH是從左向右入棧,RPUSH是從右向左入棧,LINSERT即從左向右插入某一值,LRANGE是顯示指定鍵的參數範圍 127.0.0.1:6379[15]> RPOP number "zero" 127.0.0.1:6379[15]> LLEN number (integer) 3 #RPOP是從右向左彈出字段,LPOP是從左向右彈出字段,LLEN是列出指定鍵的長度
hash數據類型: 127.0.0.1:6379[15]> HMSET member name tom age 20 gender male OK #主鍵與子鍵 127.0.0.1:6379[15]> HGETALL member 1) "name" 2) "tom" 3) "age" 4) "20" 5) "gender" 6) "male" #顯示全部鍵值 127.0.0.1:6379[15]> HKEYS member 1) "name" 2) "age" 3) "gender" #只顯示子鍵 127.0.0.1:6379[15]> HVALS member 1) "tom" 2) "20" 3) "male" #顯示子鍵值 127.0.0.1:6379[15]> HSTRLEN member age (integer) 2 127.0.0.1:6379[15]> HDEL member gender (integer) 1
以上顯示多種數據類型在redis接口下的基本操做,能夠參考help來繼續學習學習
本文演示到此結束