非關系型數據庫--Redis基礎
阿新 • • 發佈:2017-11-16
linux redis
redis是一個開源的key-value數據庫,其特點就是基於鍵值存儲數據;
它又經常被認為是一個數據結構服務器。因為它的value不僅包括基本的string類型還有list,set ,sorted set和hash類型。
redis官網地址:https://redis.io/
redis服務文件:
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服務
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支持多種數據結構,所以操作也就不同
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來繼續學習
本文演示到此結束
本文出自 “a_pan” 博客,謝絕轉載!
非關系型數據庫--Redis基礎