模塊
Redis 4.0.0最大的功能之一是期待已久的模塊系統。模塊系統提供了一個API,用于擴展Redis,主要在C中動態加載模塊。模塊API提供了多個級別的API,供開發人員為Redis添加新的特性和功能。
使用Redis模塊,開發人員可以在現有數據類型中添加新的操作,引入新的數據類型,如JSON,或使用搜索或神經網絡等新流程擴展Redis。
新的API使開發人員能夠構建在使用Lua構建時不切實際或性能不足的擴展。正如Redis.io上的模塊文檔中所提到的,“Redis模塊使使用外部模塊擴展Redis功能成為可能,以與核心內部類似的速度和功能實現新的Redis命令。”
緩存優化
4.0.0版本增加了最不頻繁使用(LFU)的最大內存策略,為用戶提供了另一種在Redis達到最大內存閾值時驅逐KEY的算法。LFU緩存為許多應用程序提供了比最近最少使用(LRU)緩存更好的命中率。
Redis中LFU緩存的實現是通過近似算法完成的,以提供對KEY訪問頻率的準確估計,而不添加大量的內存開銷來跟蹤訪問計數。與當前的LRU緩存策略一樣,LFU緩存只能應用于易失性KEY(過期KEY)或所有KEY
內存相關命令
新增MEMORY命令向用戶提供Redis實例的內存消耗信息。MEMORY USAGE命令為用戶提供給定KEY使用的精確內存量,而MEMORY DOCTOR提供了一個框架(類似于LATENCY DOCTOR命令),用于觀察實例的總體內存消耗。
異步刪除命令
新增UNLINK命令,功能與DEL命令一樣,但是異步而非阻塞命令。 同時 ‘FLUSHDB’ and ‘FLUSHALL’ 命令也增加了‘ASYNC’的參數,可以達到異步非阻塞的效果。
交換數據庫命令
新增SWAPDB命令,可以讓不同數據庫的編號交換,比如執行SWAP 0 1 , 即讓原來的數據庫0變成1, 1變成0