1. 程式人生 > >非關系型數據庫--Redis基礎

非關系型數據庫--Redis基礎

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基礎