redis5 0的12項新特性

2021-10-19 09:11:00 字數 2026 閱讀 8759

目錄

1、新的stream資料型別

2、新的redis模組的api:times and cluster api

3、rdb現在儲存的lfu和lru資訊

4、集群管理器從ruby移植到c**

5、新的sorted set 命令:zpop/min/max 和阻塞變種

6、主動碎片整理v2

debug populate

7、增強hyperloglog實現

8、更好的記憶體統計報告

9、許多帶有子命令的命令現在都乙個htlp子命令

10、客戶經常連線和斷開連線時效能更好

11、錯誤修復和改進

12、jemalloc公升級到5.1版本

a、其它五種資料結構不能實現的需求,可直接用stream實現

b、直接貼近業務需求,提公升開發效率

c、物聯網,各種感測器產生時間序列資料,定位未來。

xadd key id field string [field string ...]

id:毫秒級的unix時間戳 -sequence 

xadd key * name name1

xadd key * name name2

xadd namedkey 0-1 name name1

xlen 返回stream中元素的個數

xdel 刪除乙個id

xdel key id

xrange 返回指定id範圍內的stream資料

xrange key start end

+ 最大id - 最小id

xread 從乙個或者多個stream讀取資料

xread [count count]  [block milliseconds] streams key [key..] id [id...]

block 0:永遠阻塞 $ 獲取最新的資料

xgroup

xgroup create key groupname id

如 xgroup create consumer1 name1 id

xreadgroup

xreadgroup group groupname consumer

> \讀取最新訊息

集群刪除從節點

redis-cli --clusterdel-node 192.168.0.100:5008 id

分片操作

redis-cli --cluster reshard 192.168.0.100:5007

動態新增節點

redis-cli --cluster add-node 新增節點host:port 被新增的host:port

新增從節點

cluster replicate 做誰的節點id

zpopmax

刪除返回集合中分值最高的元素

zpopmax key [count]

zpopmin

刪除返回集合中分值最低的元素

zpopmin key [count]

bzpopmax

bzpopmin

應用場景舉例:

1、成績排名,第一名和最後一名

2、**熱搜,當下最火搜尋

配置項:

activedefrag yes

# 記憶體浪費超過100m時候整理

active-defrag-ignore-bytes 100mb

active-defrag-threshold-lower 10

測試利器,快速產生大量的key

127.0.0.1:6379> debug populate 10000

ok

127.0.0.1:6379> dbsize

1、在執行期進行自動的記憶體碎片整理,釋放記憶體空件

2、通過記憶體報告了解整個系統的記憶體使用情況

redis-cli --cluster help

xinfo help

xadd help

pubsub help

Linux下redis5 0的安裝和部署

linux下redis的安裝 開放埠號 redis官網 使用linux命令對解壓後的資料夾進行重新命名 mv 源資料夾名稱 修改後的資料夾名稱 mv redis 5.0.10 redis安裝gcc環境 redis是由c語言編寫的,它的執行需要c環境,所以編譯前需安裝 gcc yum install ...

Redis5 0之後的記憶體策略 最新八種演算法

前言 這八種演算法是基於redis5.0版之後的,他新增了新增allkeys lfu,volatile lfu這兩種演算法,也就是多了lfu演算法,而lfu與lru演算法不同在於 lru是淘汰最近最長時間未使用的頁面進行淘汰,而lfu是要求在頁置換時置換引用計數最小的頁,因為經常使用的頁應該有乙個較...

六 Spring 5 0的新特性

spring 5.0在2017年9月發布了它的ga 通用 版本。該版本是基於jdk 8編寫的,所以jdk 8以下版本將無法使用。同時,可以相容jdk 9版本。tomcat版本要求8.5及以上。注意 我們使用jdk 8構建工程,可以降版編譯。但是不能使用jdk 8以下版本構建工程。由於jdk和tomc...