redis-基礎知識_第1頁
redis-基礎知識_第2頁
redis-基礎知識_第3頁
redis-基礎知識_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Redis基礎知識問題1.redis是單線程還是多線程實現機制?這種機制的優缺點?redis是單線程的實現機制。優點:CPU單線程不會對服務器造成壓力,對內存開銷小!缺點:當具有多個進程時,這時候不會分配資源給其他進程,處理時間會變長變慢,不能支持并發!2.有幾種持久化機制,分別是什么,及區別?redis有RDP持久化、AOF持久化、無持久化、同時應用AOF和RDP持久化方式RDP:該機制是指在指定的時間間隔內將內存中的數據集快照寫入磁盤RDP優點:適合用于進行備份和災難恢復RDB,在恢復大數據集時的速度比 AOF 的恢復速度要快。RDP缺點:每次保存 RDB 的時候,Redis都要fork(

2、)出一個子進程,并由子進程來進行實際的持久化工作比耗時AOF:該機制將以日志的形式記錄服務器所處理的每一個寫操作,在Redis服務器啟動之初會讀取該文件來重新構建數據庫,以保證啟動后數據庫中的數據是完整的。AOF優點:AOF可以帶來更高的數據安全性,AOF 文件有序地保存了對數據庫執行的所有寫入操作AOF缺點:AOF文件的體積通常要大于 RDB 文件的體積。根據所使用的 fsync 策略,AOF 的速度可能會慢于 RDB無持久化:通過配置的方式禁用Redis服務器的持久化功能,這樣我們就可以將Redis視為一個功能加強版的memcached了。同時應用AOF和RDB:3.如何設置、查看、取消k

3、ey的過期時間?key過期策略?改變key名字是否會改變過期時間?設置過期時間:EXPIRE key seconds(s)/EXPIREAT key timestamp(timestamp)/PEXPIRE key milliseconds(ms)PEXPIREAT key milliseconds-timestamp(ms)查看過期時間:PTTL key/TTL key取消過期時間:PERSIST keyredis key過期策略(三種):被動刪除:當讀/寫一個已經過期的key時,會觸發惰性刪除策略,直接刪除掉這個過期key主動刪除:由于惰性刪除策略無法保證冷數據被及時刪掉,所以Redis會

4、定期主動淘汰一批已過期的key當前已用內存超過maxmemory限定時,觸發主動清理策略當改變key名字是不會改變key的過期時間4.常見的數據結構及各結構至少5個常見命令?String: SET key valueGET keySETEX key seconds valueMSETNX key value key value .SETNX key valueMSET key value key value .MGET key key .APPEND key valueINCR keyDECR key List:LPUSH key value value .RPUSH key value va

5、lue .LLEN keyLRANGE key start stopLPOP keyRPOP keyLLEN keyLINDEX key indexHash:HSET key field valueHGET key fieldHMSET key field value field value .HMGET key field field . HSETNX key field valueHDEL key field field .HGETALL keyHINCRBY key field incrementSet:SADD key member member .SCARD key SINTER k

6、ey key .SISMEMBER key member SMEMBERS keySDIFF key key . SINTER key key . SUNION key key .SortedSet:ZADD key score member score member score member .ZINCRBY key increment memberZCARD keyZRANK key memberZSCORE key memberZREM key member member .ZRANGE key start stop WITHSCORES ZREVRANGE key start stop

7、 WITHSCORES。ZCOUNT key min max 。key的操作:DEL key key . EXISTS key KEYS pattern EXPIRE key secondsTTL keySORT key 5.如何發布信息?如何訂閱一個頻道和多個頻道?訂閱foo和f*會收到幾條信息?發布消息:PUBLISH channel message訂閱消息:PSUBSCRIBE pattern pattern .那么當有信息發送到頻道 foo 時,客戶端將收到兩條信息: 1、一條來自頻道 foo ,信息類型為 message ; 2、另一條來自模式 f* ,信息類型為 pmessage

8、;6.事務如何實現及使用?是否支持回滾?【非必須】開啟事物:MULTI取消事物: DISCARD且事務成功執行: WATCH lock lock_times監視 key ,且事務被打斷:WATCH lock lock_timesWATCH取消 命令對所有 key 的監視:UNWATCHredis事物不支持回滾 7.Jedis連接池常見配置參數?如何設置保證每次得到鏈接均可用?多命令的批處理?Redis.clients.jedis.JedisPoolConfig:該類主要用于配置連接池的屬性maxActive:最大有效連接數maxIdle:最大空閑連接數minIdle:最小空閑連接數maxWai

9、t:獲取連接的最大等待時間testOnBorrow:每次獲取連接時,是否檢測有效性,啟用該屬性,那么每次獲取到的redis實例都是可用的!redis.clients.jedis.JedisPoolConfig:連接池配置(JedisPoolConfig)Host:主機地址Port:端口Timeout:獲取連接超時時間,該時間不可設置過短Password:密碼連接池的配置主要就是上面所列出的兩個類。使用Redis連接池需要注意的地方:1、應該對Redis的命令進行封裝,執行任何操作后,將連接放回池中2、執行Redis的操作放入try catch語句中,以保證即使程序出錯也能釋放連接3、Redis執行命令或者獲取Redis實例出現異常,如果redis實例不為null,需要連接需要采用returnBrokenResource的方式釋放,以保證redis實例中的緩存數據可以被清空,避免殘余數據影響下一次的結果redis如何多命令批處理?Java使用Pipeline管道對

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論