數(shù)據(jù)庫(kù)

redis 的讀寫效率很高
redis:數(shù)據(jù)庫(kù)(key:value) 鍵值存儲(chǔ)
redis : 是非關(guān)系型數(shù)據(jù)庫(kù),是一個(gè)基于key - values(鍵-值)的存儲(chǔ)窿侈,
redis 存儲(chǔ)的都是鍵和值的類型(存的是一個(gè)字典的對(duì)象)
數(shù)據(jù)存儲(chǔ)在緩存中憔儿,讀取效率高,
打開百度搜素 redis ---> 中文版
redis 安裝
1.下載:打開redis官方網(wǎng)站,推薦下載穩(wěn)定版本(stable)
2.解壓
3.進(jìn)入到解壓的文件夾目錄
生成: sudo make
測(cè)試: sudo make test
將redis的命令安裝到指定的目錄: sudo make install
1.啟動(dòng):進(jìn)入到redis 的文件夾下 梅掠,執(zhí)行 : redis-server redis.conf
2.啟動(dòng):(1.) redis-server (2.) redis-cli
退出redis ctil + c,exit枢析,sudo service redis stop
(1.)關(guān)于 redis 的字符串操作(二進(jìn)制數(shù)據(jù)玉掸,最大限制512MB)
設(shè)置鍵值: set key(鍵) values(值) 例如: set name huahua
查看鍵值: get key(鍵), 獲取:根據(jù)鍵獲取值醒叁,如果不存在此鍵則返回nil
如果要顯示中文再開一個(gè)終端輸入:redis-cli --raw ----> get name
設(shè)置過0期時(shí)間: setex key seconds(秒數(shù)) values(值司浪,在有效時(shí)間內(nèi)泊业,可以是任意) 例如:setex name 10 huahua
替換: setrange key(鍵) offset(偏移量,從哪個(gè)位置開始替換) newvalues
例如: setrange name 2 kkk
判斷key是否存在,不存在則創(chuàng)建: setnx key(鍵) value(值) 例如:setne name xigua
設(shè)置多個(gè)鍵值: mset key1 value1 key2 value2 ... 例如:mset name huahua age 17 book pytho
根據(jù)多個(gè)鍵獲取多個(gè)值 : mget key1 key2 ... 例如:mget name age book
追加值(在末尾追加): append key value 例如:append name nihao
刪除: del key
查看字符串的長(zhǎng)度:strlen key
(2.)values(值)值得操作
例如:set int 10
在10的基礎(chǔ)上減一個(gè) decr int
(3.)鍵的操作
查看所有鍵:keys *
查看名稱中包含a的鍵:keys 'a*' (正則,查看我們想要的key)
判斷鍵是否存在 如果存在返回1啊易,不存在返回0 :exists key1
隨機(jī)返回一個(gè)key(從當(dāng)前數(shù)據(jù)庫(kù)中隨機(jī)返回一個(gè) key) : randomkey
查看鍵對(duì)應(yīng)的value的類型 : type key
刪除鍵及對(duì)應(yīng)的值:del key1 key2 ...
給一個(gè)kay設(shè)置過期時(shí)間脱吱,以秒為單位(如果沒有指定過期時(shí)間則?直存在,直到使?DEL移除):expire key seconds
查看有效時(shí)間认罩,以秒為單位:ttl key (查看過期時(shí)間)
查看鍵'bb'的有效時(shí)間:ttl bb
給一個(gè)key重新命名:rename key newkey
刪除key:del key
(4.)hash類型
hash?于存儲(chǔ)對(duì)象箱蝠,對(duì)象的結(jié)構(gòu)為屬性、值 值的類型為string
field(域,相當(dāng)于字典里面的key鍵)
設(shè)置單個(gè)屬性: hset key field value
獲取?個(gè)屬性的值:hget key field (獲取域下面的值)
設(shè)置多個(gè)鍵和屬性: hmset key field values fiels valuse....
獲取多個(gè)屬性的值: hmget key field field..... (獲取域下面的多個(gè)值)
刪除整個(gè)hash鍵及值垦垂,使?del命令 刪除屬性宦搬,屬性對(duì)應(yīng)的值會(huì)被?起刪除:hdel key field field field .....
獲取所有的域: hkeys key
獲取所有的值: hvals key
獲取所有域和值: hgetall key
獲取鍵的長(zhǎng)度:hlen key
給hash數(shù)據(jù)類型中的域的數(shù)字的值增加指定的值(處理的是數(shù)字類型):hincrby key fiels 數(shù)字
判斷鍵下是否存在某個(gè)域:hexists key field
查看域?qū)?yīng)值的長(zhǎng)度:hstrlen key field
(5.)list數(shù)據(jù)類型
從左面開始插入(先插的在后面):lpush key valuse values....
從右面開始插入(先插的在前面):rpush key valuse values....
查看數(shù)據(jù)(隊(duì)列)所有的值:lrange key start(起始位置,從0開始) end(結(jié)束-1) 例如: lrange lkey 0 -1
根據(jù)索引查找(取值):lindex key index
重新賦值:lset key index value
指定位置插入值:linsert key before|after value(給定一個(gè)值作為參照位置) newvalue
從左面取出,取出后即刪除:lpop key
從右面取出,取出后即刪除:rpop key
查看隊(duì)列的長(zhǎng)度:llen key
截冉俎帧:ltrim key start stop 例如:ltrim key 2 5 ---->5 4 3 2
阻塞時(shí)間,(為0則一直阻塞,知道key對(duì)應(yīng)的list有值,不為0,在設(shè)置的時(shí)間內(nèi),即使取不到值,也結(jié)束):brpop key key1 second
阻塞時(shí)間(同上):blpop
brpoplpush key key2 timeout (叢key右邊取出值,叢左面取的值放在key里面)

redis的發(fā)布與訂閱
訂閱一個(gè)頻道:subscribe channel(頻道名稱) ...
發(fā)布消息:publish channel(頻道) message(消息)
取消訂閱:unsubscribe channel(頻道名稱)
事務(wù)是一個(gè)原子操作:事務(wù)中的命令要么全部被執(zhí)行间校,要么全部都不執(zhí)行。
事物的特性:原子性页慷,一致性憔足,隔離性,持久性
開啟一個(gè)事務(wù):multi
提交一個(gè)事務(wù):exec
取消事務(wù):discard
監(jiān)聽事務(wù):watch
取消監(jiān)聽:unwatch
備份:save 使用這個(gè)命令之后,會(huì)保存一個(gè)dump.rdb
主從備份(一主一從,一主多從):
1).配置要有一個(gè)主節(jié)點(diǎn) :進(jìn)入redis.conf 修改bind 為主節(jié)ip
保存退出酒繁,從新開啟redis服務(wù)
啟動(dòng)redis-cli 鏈接主節(jié)點(diǎn)(redis服務(wù))
2).配置從節(jié)點(diǎn):
進(jìn)入redis.conf 修改bind 為主機(jī)ip
可以修改端口號(hào)
設(shè)置主節(jié)點(diǎn)信息(282行)
保存退出滓彰,重新開啟redis服務(wù)
啟動(dòng)redis-cli -h 從節(jié)點(diǎn)的ip -p 從節(jié)點(diǎn)的port 連接從節(jié)點(diǎn)(redis服務(wù))可以實(shí)現(xiàn)主從備份
安全:
查看密碼:config get requirepass
設(shè)置:congig set requirepass ‘密碼’
認(rèn)證:auth 密碼
取消密碼:congig set requirepass ''

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市州袒,隨后出現(xiàn)的幾起案子揭绑,更是在濱河造成了極大的恐慌,老刑警劉巖郎哭,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件他匪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡夸研,警方通過查閱死者的電腦和手機(jī)邦蜜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亥至,“玉大人悼沈,你說我怎么就攤上這事√Т常” “怎么了井辆?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)溶握。 經(jīng)常有香客問我杯缺,道長(zhǎng),這世上最難降的妖魔是什么睡榆? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任萍肆,我火速辦了婚禮袍榆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘塘揣。我一直安慰自己包雀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布亲铡。 她就那樣靜靜地躺著才写,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奖蔓。 梳的紋絲不亂的頭發(fā)上赞草,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音吆鹤,去河邊找鬼厨疙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛疑务,可吹牛的內(nèi)容都是我干的沾凄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼知允,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼撒蟀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起廊镜,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤牙肝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后嗤朴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虫溜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年雹姊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衡楞。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吱雏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘾境,到底是詐尸還是另有隱情歧杏,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布迷守,位于F島的核電站犬绒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏兑凿。R本人自食惡果不足惜凯力,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一茵瘾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咐鹤,春花似錦拗秘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至捧请,卻和暖如春凡涩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背血久。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工突照, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氧吐。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓讹蘑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親筑舅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子座慰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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