Redis實戰(23)Redis使用Lua指令碼

2022-01-19 19:33:22 字數 668 閱讀 9103

lua 指令碼功能是 reids 2.6 版本的最大亮點, 通過內嵌對 lua 環境的支援, redis 解決了長久以來不能高效地處理 cas (check-and-set)命令的缺點, 並且可以通過組合使用多個命令, 輕鬆實現以前很難實現或者不能高效實現的模式。

命令不多,就下面這幾個:

- eval

- evalsha

- script load - script exists

- script flush

- script kill

需求:實現乙個訪問頻率控制,某個ip在短時間內頻繁訪問頁面,需要記錄並檢測出來,就可以通過lua指令碼高效的實現。

redis如何使用luascript呢?

直接上**實菜吧,寫乙個模糊查詢key的方法

///

///判斷是否存在包含keypattern的key

/// ///

///public

bool existpatternkey(string

keypattern)

);if(cacheresult.isnull)

return ((string)cacheresult).length > 0

; }

stackexchange.redis模糊查詢

2 3redis持久化rdb和aof的對比

總結 1.rdb 優點rdb對redis對外提供的讀寫服務,影響非常小,可以讓redis保持高效能 rdb特別適合做冷備份 缺點 容易丟失資料,因為按時時間間隔儲存資料 rdb的間隔太長,生成的rdb檔案太大了,redis本身的效能一定有影響的 2.aof 優點aof可以更好的保護資料不丟失 非常適...

redis實戰 Redis命令之列表

列表的主要優點在於它可以包含多個字串值,使得使用者可以將資料集中在同乙個地方。redis允許使用者從序列的兩端推入或者彈出元素,獲取列表元素,以及執行各種常見的列表操作。命令用例 描述注意 rpush rpush key value value 從右端推入乙個或多個值 多個值用空格隔開 lpush ...

redis實戰 Redis命令之集合

redis的集合以無序的方式儲存多個各不相同的元素,使用者可以快速對集合執行新增元素 移除元素以及檢查元素是否存在於集合中的操作。命令用例 描述注意 sadd sadd key item item 將乙個或多個元素插入到集合中,並返回被新增元素當中原本不存在於集合中的數量 srem srem key...