06.19 3、Redis系列——Redis命令(二)列表命令

第一篇介紹過Redis的列表允許用戶從序列的兩端推入或者彈出元素,獲取列表元素,以及執行各種常見的列表操作。本次通過示例展示一些最常見的列表處理命令。

3、Redis系列——Redis命令(二)列表命令

一些常用的列表命令

示例:

  1. 在向列表推入元素時,推入操作執行完畢之後會返回列表當前的長度。
  2. lrange:列表的左端為開頭,右端為結尾顯示列表數據。
  3. lpop:通過重複地彈出列表左端的元素,可以按照從左到右的順序來獲取列表中的元素。
  4. rpush:可以同時推入多個元素。
  5. ltrim:可以從列表的左端,右端或者左右兩端刪除任意數量的元素。
3、Redis系列——Redis命令(二)列表命令

在這個示例裡面使用了ltrim命令,組合使用ltrim和lrange可以構建出一個在功能上類似於lpop或rpop,但是卻能夠一次返回並彈出多個元素的操作。

3、Redis系列——Redis命令(二)列表命令

阻塞式的列表彈出命令以及在列表之間移動元素的命令

示例:

  • 初始化一些元素到兩個列表中;
  • brpoplpush:將一個元素從一個列表移動到另一個列表,並返回被移動的元素。
  • 當list2中沒有任何元素時,阻塞彈出操作會在給定的時限內等待可彈出的元素出現,並在時限到達之後返回。
  • brpoplpush list2 list 1:彈出list2最右端的元素,並將被彈出的元素推入list的左端。
  • blpop:從左到右地檢查傳入的列表,並對最先遇到的非空列表執行彈出操作。
3、Redis系列——Redis命令(二)列表命令

對於阻塞彈出命令和彈出並推入命令,最常見的用例就是消息傳遞(messaging)和任務隊列(task queue)。

列表的一個主要優點在於它可以包含多個字符串值,這使得用戶可以將數據集中在同一個地方。Redis的集合提供了和列表類似的操作,但集合只能保存各個不相同的元素。下篇介紹集合命令。


分享到:


相關文章: