Redis 基本操作

啟動與關(guān)閉Redis服務(wù)点楼、進入Redis環(huán)境

1.啟動Redis服務(wù)

redis-server 拷貝的redis.conf的位置

redis-server redis6380/redis.conf?? 啟動6380Redis服務(wù)

2.關(guān)閉Redis服務(wù)

redis-cli shutdown?? # 默認關(guān)閉的是本機的6379端口的Redis服務(wù)

全稱:

redis-cli -h 主機地址 -p 要關(guān)閉的Redis端口號? shutdown

redis-cli -h redis6380/redis.conf -p 6380 shutdown

3.進入Redis客戶端環(huán)境

redis-cli -h Redis所在主機地址? -p 6379Redis

redis-cli -h localhost -p 6381?? 進入6381的環(huán)境

Redis的全稱是Remote Dictionary Server

Redis是一種基于鍵值對(key-value)的NoSQL數(shù)據(jù)庫。

Redis主從復(fù)制:

Redis的主從復(fù)制是單向的,只能從master復(fù)制數(shù)據(jù)到slave成榜。

設(shè)置主從關(guān)系:

1. 在從服務(wù)器(slave)Redis命令行中直接輸入:slaveof master的地址 master的端口號

2. 在從服務(wù)器(slave)的配置文件redis.conf中加入 slaveof master的地址 master的端口號

切主與斷開復(fù)制:

切主操作:

slaveof master的地址 master的端口號

slaveof 127.0.0.1 6379 主從復(fù)制

斷開復(fù)制:

slaveof no one

Redis特性

速度快

正常情況下,Redis執(zhí)行命令的速度非澈侄快胁孙,官方的數(shù)據(jù)是讀寫性能10萬/秒。

速度快的主要原因:

Redis所有數(shù)據(jù)都是存放在內(nèi)存中的菜枷;

Redis是用C語言實現(xiàn)的苍糠;

Redis使用了單線程架構(gòu);

基于鍵值對的數(shù)據(jù)結(jié)構(gòu)服務(wù)器

Redis提供了5種基本數(shù)據(jù)結(jié)構(gòu):字符串、哈希啤誊、列表岳瞭、集合拥娄、有序集合。

持久化

雖然Redis的所有數(shù)據(jù)都是存放在內(nèi)存中的瞳筏,但也提供了持久化的功能稚瘾。

主從復(fù)制

keys *? 查看所有的key

type key? 查看key所對應(yīng)的value的數(shù)據(jù)類型

del key [key1 key2 …]刪除key

expire? key 過期時間(秒)

ttl key 查看鍵的剩余過期時間

一:字符串(string)

常用命令

(1)設(shè)置值

set key value [nx|xx]

注意:nx當(dāng)key不存在時,才能設(shè)置成功

xx當(dāng)key存在時姚炕,才能設(shè)置成功ss

(2)獲取值

get key

(3)批量設(shè)置值

mset key value [key value …]

)批量獲取值

mget key [key …]

(5) 計數(shù)

incr key

注意:incr 命令用于對值做自增操作摊欠,返回? 結(jié) 果有三種情況:

值不是整數(shù),返回錯誤

值是整數(shù)柱宦,返回自增后的結(jié)果

鍵不存在凄硼,按照值為0自增,返回結(jié)果為1

(6) 設(shè)置時間期限

setex a 10 good

運算:

incr key?? #加1

decr key??? #減1

incrby a 5? #加5

decrby a 5?? #減5

(7)其他

append a b??? #在a 追加b

二:哈希(hash)

在Redis中捷沸,哈希類型是指值本身又是一個鍵值對結(jié)構(gòu)摊沉。

常用命令

(1) 設(shè)置值

hset key field value

hset student name tom

(2) 獲取值

hget key field

hget student name

(3)刪除field

hdel key? field [field …]

(4)計算field個數(shù)

hlen key

(5)批量設(shè)置或獲取field-value

hmset key field value [field value…]

hmset student name tom age 20 sex boy score 80

三:列表

列表類型用來存儲多個有序元素

常用命令

(1)從右邊插入元素

rpush key value [value …]

(2)從左邊插入元素

lpush key value[value…]

(3)獲取指定范圍內(nèi)的元素列表

lrange key start end(注意:此處包括end索引)

(4)獲取列表指定索引下標的元素

lindex? key? index

(5)獲取列表長度

llen? key

(6) 從列表左側(cè)(右側(cè))彈出元素

lpop|rpop key

(7)刪除指定元素

lrem key count value

根據(jù)count的不同刪除元素:

count>0,從左到右,刪除最多count個元素

count<0,從右到左痒给,刪除最多count絕對值??? 個元素

count=0 刪除所有

(8)修改指定索引下標的元素

lset key index newValue

列表可以組織成棧和隊列:

lpush + lpop = Stack(棧)

lpush + rpop = Queue(隊列)

四:集合(set)

集合中不允許有重復(fù)元素说墨,并且集合中的元素是無序的,不能通過索引下標獲取元素

集合內(nèi)操作

(1)添加元素

sadd key element [element…]

(2)刪除元素

srem key element[element…]

(3)計算元素個數(shù)

scard key

(4)獲取所有元素

smembers key

(5)隨機從集合返回指定個數(shù)元素

srandmember key [count]

(6)從集合隨機彈出元素

spop key [count]

注意:從Redis3.2版本開始苍柏,才支持[count]參數(shù)

集合間操作

(1)求多個集合的交集

sinter key [key…]

(2)求多個集合的并集

sunion key [key…]

(3)求多個集合的差集

sdiff key [key…]

五:有序集合

有序集合保留了集合不能有重復(fù)成員的特性尼斧,但不同的是,有序集合中的元素可以根據(jù)每個成員的分數(shù)進行排序

常用操作

(1)添加成員

zadd key score member [score member …]

(2)計算成員個數(shù)

zcard key

(3)獲取某個成員的分數(shù)

zscore key member

(4)刪除成員

zrem key member [member…]

(5)增加成員分數(shù)

zincrby key increment member

(6)計算成員的排名

zrank key member?? (從低到高)

zrevrank key member? (從高到低)

(7)返回指定排名范圍的成員

zrange key start end [withscores]

zrevrange key start end [withscores]

(8)返回指定分數(shù)范圍的成員

zrangebyscore? key? min max [withscores]

zrevrangebyscore key max min[withscores]

(9)返回指定分數(shù)范圍成員個數(shù)

zcount key min max

(10)刪除指定分數(shù)范圍的成員

zremrangebyscore? key? min max

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末试吁,一起剝皮案震驚了整個濱河市棺棵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌熄捍,老刑警劉巖烛恤,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異余耽,居然都是意外死亡缚柏,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門碟贾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來币喧,“玉大人,你說我怎么就攤上這事袱耽∩辈停” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵朱巨,是天一觀的道長史翘。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么恶座? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮沥阳,結(jié)果婚禮上跨琳,老公的妹妹穿的比我還像新娘。我一直安慰自己桐罕,他們只是感情好脉让,可當(dāng)我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著功炮,像睡著了一般溅潜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薪伏,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天滚澜,我揣著相機與錄音,去河邊找鬼嫁怀。 笑死设捐,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的塘淑。 我是一名探鬼主播萝招,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼存捺!你這毒婦竟也來了槐沼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤捌治,失蹤者是張志新(化名)和其女友劉穎岗钩,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肖油,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡凹嘲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了构韵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片周蹭。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疲恢,靈堂內(nèi)的尸體忽然破棺而出凶朗,到底是詐尸還是另有隱情,我是刑警寧澤显拳,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布棚愤,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏宛畦。R本人自食惡果不足惜瘸洛,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望次和。 院中可真熱鬧反肋,春花似錦、人聲如沸踏施。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畅形。三九已至养距,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間日熬,已是汗流浹背棍厌。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留竖席,地道東北人定铜。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像怕敬,于是被迫代替她去往敵國和親揣炕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容