Linux下Redis安裝配置,及常用命令

Redis簡介

  • Redis-REmote DIctionary Server
  • Redis是一個(gè)使用ANSI C語言編寫的開源數(shù)據(jù)庫
  • 高性能的key-value數(shù)據(jù)庫
  • 內(nèi)存數(shù)據(jù)庫,支持?jǐn)?shù)據(jù)持久化
  • Redis官網(wǎng)https://redis.io/
  • 提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端

Redis安裝(Linux)

下載、解壓、編譯Redis

wget http://download.redis.io/releases/redis-5.0.4.tar.gz

tar xzf redis-5.0.4.tar.gz

cd redis-5.0.4

make

完成后運(yùn)行測試

make test

如果出現(xiàn)You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] error 1,則需安裝tcl

yum install tcl

再次執(zhí)行make test則不會(huì)報(bào)錯(cuò)


安裝成功
Redis啟動(dòng)(Linux)

./src/redis-server &

或者

redis-server ${redis.conf} #加載配置啟動(dòng)
redis-server --port ${port} #指定端口啟動(dòng)
Redis啟動(dòng)

這種方式不會(huì)占用命令行,如果命令后不加空格&則會(huì)占用,如上圖

啟動(dòng)redis-cli

./src/redis-cli

或者

redis-cli -port ${port} #指定端口啟動(dòng)(需要和redis-server的端口一致)
redis-cli -h ${ip} #指定host啟動(dòng)
redis-cli -a ${password} #認(rèn)證啟動(dòng)
#可以組合使用
啟動(dòng)redis-cli
關(guān)閉redis-cli

./src/redis-cli shutdown

或者

redis-cli -port ${port} shutdown #指定端口關(guān)閉(默認(rèn)6379,需要和啟動(dòng)端口一致)
redis-cli -h ${ip} shutdown #指定host關(guān)閉
#可以組合使用
關(guān)閉redis-cli

如果使用Ctrl+C終止了redis-server,則不會(huì)進(jìn)行持久化

Redis配置端口號(hào)和密碼

打開redis.conf

sudo vim redis.conf

搜索輸入/關(guān)鍵字。n:下一個(gè),N:上一個(gè)
修改后保存退出,使用redis-server ${redis.conf} 加載配置啟動(dòng)

...
# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379 #端口號(hào)
...
# use a very strong password otherwise it will be very easy to break.
#
requirepass password  #密碼
... 

Redis基礎(chǔ)命令

  • info ---- 查看信息
  • ping ---- 測試連接
  • quit ---- 退出連接
  • save ---- 持久化
  • dbsize ---- 查看key數(shù)量
  • select ---- 選擇db
  • flushdb ---- 清除當(dāng)前db
  • flushall ---- 清除所有db

Redis常用數(shù)據(jù)類型

  • string(字符串)
  • list(鏈表)
  • set(無序集合)
  • sorted set(有序集合)
  • hash(Hash表)

Redis常用鍵命令

  • set ---- 設(shè)置鍵值 ---- set testkey testval
  • get ---- 獲取值 ---- get testkey
  • del ---- 刪除 ---- key del testkey
  • exists ---- 判斷key是否存在 ---- exists testkey
  • expire ---- 設(shè)置key生存時(shí)間單位s ---- expire testkey 10
  • mset ---- 一次設(shè)置多個(gè)鍵值 ---- mset k1 v1 k2 v2 k3 v3
  • mget ---- 一次獲取多個(gè)值 ---- mget k1 k2 k3
  • setex ---- 在設(shè)置鍵時(shí)設(shè)置生存時(shí)間單位s ---- setex testkey 10 testval
  • psetex ---- 在設(shè)置鍵時(shí)設(shè)置生存時(shí)間單位ms ---- setex testkey 1000 testval
  • ttl ---- 查看一個(gè)key剩余生存時(shí)間單位s,-1為永久存在-2為不存在 ---- ttl testkey
  • type ---- 查看值類型 ---- type testkey
  • randomkey ---- 隨機(jī)key的值 ---- randomkey
  • rename ---- 重命名key(新的key如果已存在會(huì)覆蓋原有的) ---- rename testkey newkey
  • renamenx ---- 重命名key(以nx結(jié)尾的命令會(huì)做驗(yàn)證,以renamenx 為例,如果新的key如果已存在不會(huì)覆蓋原有的鍵,返回0)

  • getrange ---- 獲取一段范圍的值 ---- getrange testkey 0 3(返回"test")
  • getset ---- 獲取舊的值設(shè)置新的值 ---- getset testkey newtestval(返回"testval")
  • strlen ---- 獲取字符串長度 ---- strlen testkey
  • append ---- 追加字符串 ---- append testkey appendstr

  • incr ---- int類型的值+1 ---- incr testint
  • incrby ---- int類型的值+n ---- incr testint 100
  • decr ---- int類型的值-1 ---- decr testint
  • decrby ---- int類型的值-n ---- decr testint 100

  • hset ---- 設(shè)置hash值 ---- hest map name tom
  • hexists ---- 查看hash表的指定字段是否存在 ---- hexists testmap name
  • hget ---- 查看hash表的指定字段值 ---- hget testmap name
  • hgetall ----查看hash表所有鍵值 ---- hgetall testmap
  • hkeys ---- 查看hash表所有鍵---- hkeys testmap
  • hvals ---- 查看hash表所有值---- hvals testmap
  • hlen ---- 查看hash表鍵數(shù)量---- hlen testmap
  • hdel ---- 刪除hash表中的key ---- hdel name

  • lpush ---- 將一個(gè)或多個(gè)值插入到list頭部 ---- lpush testlist 1 2 3 4 5 6
  • llen ---- 獲取list長度 ---- llen testlist
  • lrange ---- 返回list中指定區(qū)間內(nèi)的元素 ---- lrange testlist 0 3
  • lset ---- 通過索引來設(shè)置元素的值 ---- lset testlist 0 100
  • lindex ---- 通過索引獲取列表中的元素,-1為最后一個(gè)元素, -2 為倒數(shù)第2個(gè) ---- lindex testlist 1
  • lpop ---- 移除list中第一個(gè)元素 ---- lpop testlist
  • rpop ---- 移除list中最后一個(gè)元素 ---- rpop testlist

  • sadd ---- 將一個(gè)或多個(gè)成員元素加入到集合中 ---- sadd testset a b c d
  • scard ---- 回集合中元素的數(shù)量 ---- scard testset
  • smembers ---- 返回集合中的所有的成員 ---- smembers testset
  • sdiff ---- 返回給定集合之間的差集 ----sdiff testset1 testset2
  • sinter ---- 返回給定所有給定集合的交集 ----sinter testset1 testset2
  • sunion ---- 返回給定集合的并集 ----sunion testset1 testset2
  • srandmember ----- 返回集合中的n個(gè)隨機(jī)元素 ---- srandmember testset 3
  • sismember ---- 判斷成員元素是否是集合的成員 ---- sismember testset a
  • srem ---- 移除集合中的一個(gè)或多個(gè)成員元素 ---- srem testset a b
  • spop ---- 移除集合中的指定 key 的一個(gè)或多個(gè)隨機(jī)元素,并返回這個(gè)元素 ---- spop testset

  • zadd ---- 將一個(gè)或多個(gè)成員元素及其分?jǐn)?shù)值加入到有序集當(dāng)中 ---- zadd testsorted 100 a 200 b 300 c
  • zscore ---- 返回有序集中成員的分?jǐn)?shù)值 ---- zscore testsorted a
  • zcount ---- 計(jì)算有序集合中指定分?jǐn)?shù)區(qū)間的成員數(shù)量 ---- zcount testsorted 0 300
  • zrank ---- 返回有序集中指定成員的排名(從小到大) ---- zrank testsorted a
  • zincrby ---- 指定成員的分?jǐn)?shù)加+n ---- zincrby testsorted 1000 a
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • redis是一個(gè)以key-value存儲(chǔ)的非關(guān)系型數(shù)據(jù)庫。有五種數(shù)據(jù)類型,string、hashes、list、s...
    林ze宏閱讀 1,107評(píng)論 0 0
  • 原帖地址:http://www.itdecent.cn/p/2f14bc570563 redis概述 Redis...
    onlyHalfSoul閱讀 2,229評(píng)論 0 28
  • Redis從入門到精通:中級(jí)篇 本文目錄 上一篇文章以認(rèn)識(shí)Redis為主,寫了Redis系列的第一篇,現(xiàn)在開啟第二...
    叨唧唧的閱讀 783評(píng)論 0 0
  • Ubuntu下安裝redis 安裝redis 在 Ubuntu 系統(tǒng)安裝 Redi 可以使用以下命令: 啟動(dòng) Re...
    riverstation閱讀 1,043評(píng)論 0 0
  • phpredis是php的一個(gè)擴(kuò)展,效率是相當(dāng)高有鏈表排序功能,對(duì)創(chuàng)建內(nèi)存級(jí)的模塊業(yè)務(wù)關(guān)系 很有用;以下是redi...
    神秘者007閱讀 1,581評(píng)論 0 1

友情鏈接更多精彩內(nèi)容