redis學(xué)習(xí)與實戰(zhàn)記錄

一惨恭、redis是什么?

redis是一個高性能的key-value數(shù)據(jù)庫,支持string,list,set,zset,hash五種數(shù)據(jù)結(jié)構(gòu)蜡娶,操作是原子性的欣硼,基于內(nèi)存存儲题翰,同時也支持數(shù)據(jù)持久化,在持久化數(shù)據(jù)文件存儲基礎(chǔ)上實現(xiàn)了master-slave同步诈胜。

二豹障、redis能干什么?
  • 減輕關(guān)系型數(shù)據(jù)庫壓力
  • 驗證碼
  • token
  • 分布式鎖
三焦匈、為什么高可用血公?
  • 主從復(fù)制(讀寫分離、備份)
  • 哨兵機制(監(jiān)聽缓熟,master宕機累魔,在slave中選舉出一臺新master)
  • 持久化(避免停機后內(nèi)存數(shù)據(jù)丟失,提供dbf和aof兩種方式備份够滑,可用于停機后再重啟時的數(shù)據(jù)恢復(fù))
四垦写、redis怎么干?

5.0.7版本的配置文件就在編譯后的根目錄redis-5.0.7下,啟動redis時尔许,必須指定加載的配置文件才會生效么鹤,否則按默認配置啟動。
src/redis-server /usr/local/redis-5.0.7/redis.conf

# 指定redis綁定的主機地址母债,0.0.0.0表示不對客戶端ip做限制午磁,任何客戶端可連接
bind 0.0.0.0
#保護模式,如果未開啟毡们,客戶端無法連接connect refused
protected-mode yes
# 指定訪問redis服務(wù)端的端口
port 6680
tcp-backlog 511
# 指定客戶端連接redis服務(wù)器時迅皇,當(dāng)閑置的時間為多少(如300)時,關(guān)閉連接
timeout 0
tcp-keepalive 300
#修改為yes  后臺啟動:命令啟動redis后衙熔,ctrl + c不會停止服務(wù)
daemonize yes
supervised no
pidfile /home/db/redis/logs/redis_6680.pid
loglevel notice
logfile /home/db/redis/logs/redis6680.log
databases 16
always-show-logo yes
#指定redis數(shù)據(jù)庫多長時間內(nèi)(s)有多少次(c)更新操作時就把緩存中的數(shù)據(jù)同步到本地庫登颓,比如:save 600 2,指的是10分鐘內(nèi)有2次更新操作红氯,就同步到本地庫
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump6696.rdb
# 指定redis本地數(shù)據(jù)文件存放的目錄
dir /home/db/redis/var
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
# 指定redis的訪問密碼
requirepass root123
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
# 指定redis是否開啟日志記錄功能框咙,由于redis是利用什么save命令異步的方式更新數(shù)據(jù)到本地庫咕痛,所以不開啟日志記錄功能,可能會導(dǎo)致在出現(xiàn)生產(chǎn)事故時喇嘱,導(dǎo)致部分數(shù)據(jù)未更新到本地庫
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
# 指定內(nèi)存
maxmemory 4294967296
  • 常用命令
TYPE key — 用來獲取某key的類型

KEYS pattern — 匹配所有符合模式的key茉贡,比如KEYS * 就列出所有的key了,當(dāng)然者铜,復(fù)雜度O(n)

RANDOMKEY - 返回隨機的一個key

RENAME oldkey newkey — key也可以改名

列表操作腔丧,精華

RPUSH key string — 將某個值加入到一個key列表末尾

LPUSH key string — 將某個值加入到一個key列表頭部

LLEN key — 列表長度

LRANGE key start end — 返回列表中某個范圍的值,相當(dāng)于mysql里面的 分頁 查詢那樣

LTRIM key start end — 只保留列表中某個范圍的值

LINDEX key index — 獲取列表中特定索引號的值作烟,要注意是O(n)復(fù)雜度

LSET key index value — 設(shè)置列表中某個位置的值

LPOP key

RPOP key — 和上面的LPOP一樣愉粤,就是類似棧或隊列的那種取頭取尾指令拿撩,可以當(dāng)成消息隊列來使用了

集合操作

SADD key member — 增加元素

SREM key member — 刪除元素

SCARD key — 返回集合大小

SISMEMBER key member — 判斷某個值是否在集合中

SINTER key1 key2 ... keyN — 獲取多個集合的交集元素

SMEMBERS key — 列出集合的所有元素

還有Multiple DB的命令衣厘,可以更換db,數(shù)據(jù)可以隔離開压恒,默認是存放在DB 0

hash操作
HDEL key field2 [field2] 
刪除一個或多個哈希表字段

HEXISTS key field 
查看哈希表 key 中影暴,指定的字段是否存在。

HGET key field 
獲取存儲在哈希表中指定字段的值涎显。

HGETALL key 
獲取在哈希表中指定 key 的所有字段和值

HINCRBY key field increment 
為哈希表 key 中的指定字段的整數(shù)值加上增量 increment 坤检。

HINCRBYFLOAT key field increment 
為哈希表 key 中的指定字段的浮點數(shù)值加上增量 increment 。

HKEYS key 
獲取所有哈希表中的字段

HLEN key 
獲取哈希表中字段的數(shù)量

HMGET key field1 [field2] 
獲取所有給定字段的值

HMSET key field1 value1 [field2 value2 ] 
同時將多個 field-value (域-值)對設(shè)置到哈希表 key 中期吓。

HSET key field value 
將哈希表 key 中的字段 field 的值設(shè)為 value 早歇。

HSETNX key field value 
只有在字段 field 不存在時,設(shè)置哈希表字段的值讨勤。

HVALS key 
獲取哈希表中所有值

HSCAN key cursor [MATCH pattern] [COUNT count] 
迭代哈希表中的鍵值對箭跳。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市潭千,隨后出現(xiàn)的幾起案子谱姓,更是在濱河造成了極大的恐慌,老刑警劉巖刨晴,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屉来,死亡現(xiàn)場離奇詭異,居然都是意外死亡狈癞,警方通過查閱死者的電腦和手機茄靠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝶桶,“玉大人慨绳,你說我怎么就攤上這事。” “怎么了脐雪?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵厌小,是天一觀的道長。 經(jīng)常有香客問我战秋,道長璧亚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任获询,我火速辦了婚禮涨岁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吉嚣。我一直安慰自己,他們只是感情好蹬铺,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布尝哆。 她就那樣靜靜地躺著,像睡著了一般甜攀。 火紅的嫁衣襯著肌膚如雪秋泄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天规阀,我揣著相機與錄音恒序,去河邊找鬼。 笑死谁撼,一個胖子當(dāng)著我的面吹牛歧胁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播厉碟,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼喊巍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了箍鼓?” 一聲冷哼從身側(cè)響起崭参,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎款咖,沒想到半個月后何暮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡铐殃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年海洼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片背稼。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡贰军,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情词疼,我是刑警寧澤俯树,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站贰盗,受9級特大地震影響许饿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舵盈,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一陋率、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秽晚,春花似錦瓦糟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至句伶,卻和暖如春劲蜻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背考余。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工先嬉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人楚堤。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓疫蔓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钾军。 傳聞我的和親對象是個殘疾皇子鳄袍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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

  • 以前老爸生日我都是發(fā)個信息過去問候一下,或者打電話給他跟他聊一下天吏恭。因為要工作拗小,沒時間回去。 今天...
    米闌的天空閱讀 489評論 0 1
  • 節(jié)前漫樂姐號召大家寫學(xué)委的故事樱哼,我沒有敢應(yīng)聲哀九,因為覺得雖然自己掛著個學(xué)委的抬頭,享受了學(xué)委的權(quán)利搅幅,卻沒有盡到學(xué)委的...
    在旅途2018閱讀 179評論 0 2
  • 第二章魅影 8阅束、唐僧師徒玩的痛快,一路嘻嘻哈哈地茄唐,不覺來到一條河畔息裸,但見這河也就七八米寬蝇更,河岸平整,寸草未見呼盆,那水...
    本無痕閱讀 492評論 58 68
  • 一年扩、讀書筆記 馬糞案的故事: 這個案子發(fā)生在美國,1869年4月6號访圃,案中原告請了兩個幫工厨幻,到馬路上撿馬糞,晚...
    某某小錢閱讀 396評論 0 0
  • 年復(fù)一年腿时,2018嗖的一下就過去了况脆,當(dāng)年在學(xué)校里被逼著寫年終總結(jié)時總是萬般不情不愿的,現(xiàn)在沒人逼了批糟,倒是自己想要一...
    潛水魚一尾閱讀 558評論 1 0