开乐彩全家福

redis知識總結

文章來源:綠盟市場 時間:2019-02-25 22:36

Redis的一些概念


 no-sql --not only sql 非關系型


 key-value數據結構--鍵值對


 基于內存緩存


 可持久化存儲--保證數據可靠性


 支持分布式部署,提供良好可擴展性


雪崩/緩存擊穿:

海量的數據訪問,請求并發,一旦涌入集群.需要高性能的處理過程;緩存的存在對于高并發的意義非常大,如果緩存失效;海量請求訪問數據庫;造成數據庫宕機;重啟數據庫后,如果緩存沒有恢復數據,導致數據庫的二次宕機,這種重復數據庫宕機,重啟,緩存失效,叫做緩存擊穿/雪崩;

Redis的持久化策略:

rdb

fork一個進程,遍歷hash table,利用copy on write,把整個db dump保存下來。Save, shutdown, slave 命令會觸發這個操作。粒度比較大,如果save, shutdown, slave 之前crash了,則中間的操作沒辦法恢復。

aof

把寫操作指令,持續的寫到一個類似日志文件里。(類似于從postgresql等數據庫導出sql一樣,只記錄寫操作)粒度較小,crash之后,只有crash之前沒有來得及做日志的操作沒辦法恢復。


CAP理論

C:consistency(一致性) 數據在某個查看的時間點上保持整體一致;

A:avalibility(可用性)

P:partition(分區)-tolenrence to partition(分區容忍度)

在分布式集群中.只可能同時滿足CAP理論中的2個條件

linux下

安裝 make && make install

啟動 redis-server

連接 redis-cli

后臺查看進程 ps -ef |grep redis

redis默認支持16個數據庫

select 選數據庫

基礎命令:set name liu

get name

keys * :獲取所有key

type name

del name

幫助:help

退出:exit

關閉:shutdown

清空所有數據庫:flushall

清空當前數據庫:flushdb


string類型命令

自增:incr key 當前鍵值自增。返回遞增后的值

自減:decr key 減少指定整數

自加浮點:incrbyfloat 第一次加可以得到正確結果,浮點數后再加浮點就會出現精度問題。

尾部追加:append key value

獲取字符串長度:strlen key 如果鍵不存在則返回0。注意,如果鍵值為空串,返回也是0。

同時設置、獲取多個鍵值:mset key value【key value 。。。】 mget key【key 。。】

生存時間:expire key 10(秒)

TTL查看key的剩余時間,當 key 不存在時,返回 -2 。

清除生存時間 :presist key

設置生存時間單位為毫秒:pexpire key milliseconds


hash數據操作:

hset:執行插入操作時HSET命令返回1,當執行更新操作時返回0。hset user username liu

hget:hget user username

hmset:hmset user username liu age 19

hmget:hget user age username

hgetall

hexist:屬性是否存在

hdel:刪除對象字段

hkeys:hkeys user 只獲取字段名

hvals:獲取value屬性

hlen:獲取hash字段


redis中用的最多的是 hash string


redis中的list結構:

每個元素都是String類型的雙向鏈表 最大長度2的32 次方

我們可以通過push,pop操作從鏈表的頭部或者尾部添加刪除元素。這使得list既可以用作棧,也可以用作隊列。


lpush:list頭部 添加字符串元素 lpush

lrange:lrange 0 -1 遍歷

rpush:在key對應list的尾部添加字符串元素

linsert:特定位置前后添加字符串

lset:設置指定元素下表元素值


近期后續更新。。

redis的分布式存儲應用

--------------------- 

作者:轉讓半包_辣條 


更多

redis windows(32/64位)

狀 態:
公測
標簽 :
工具,編程,行業,數據庫,前端開發,源碼
下載量:
開發商:
暫無
時 間:
17-09-13
語 言:
中文,英文

暫無下載地址

暫無下載地址

查看更多相關文章

开乐彩全家福