日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis系列四、redis的五种数据结构和相关指令之List

發(fā)布時(shí)間:2024/7/23 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis系列四、redis的五种数据结构和相关指令之List 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本節(jié)中將介紹Redis支持的主要數(shù)據(jù)結(jié)構(gòu),以及相關(guān)的常用Redis命令。redis是一種基于鍵值對(key-value)的內(nèi)存數(shù)據(jù)庫,redis數(shù)據(jù)結(jié)構(gòu)可以分為string、hash、list、set、sorted set。

redis的五種數(shù)據(jù)結(jié)構(gòu)和相關(guān)指令之List

列表list

Redis的List是鏈表型的數(shù)據(jù)結(jié)構(gòu),用來存儲(chǔ)多個(gè)有序的字符串,一個(gè)列表最多可存2的32次方減1個(gè)元素,可以使用LPUSH/RPUSH/LPOP/RPOP等命令在List的兩端執(zhí)行插入元素和彈出元素的操作。雖然List也支持在特定index上插入和讀取元素的功能,但其時(shí)間復(fù)雜度較高(O(N)),應(yīng)小心使用。

a、常用命令

添加命令:

rpush james a b c //從右向左插入cba, 返回值3 lrange james 0 -1 //從左到右獲取列表所有元素 返回 c b a lpush key 11 22 33 //從左向右插入11 22 33 linsert james before b test //在b之前插入test, after為之后, 如果有相同的元素,以從左到右第一個(gè)為準(zhǔn),使用lrange james 0 -1 查看,如下圖

查找命令:

lrange key start end //索引下標(biāo)特點(diǎn):從左到右為0到N-1 lindex key -1 //返回最右末尾a,-2返回b llen key ? ?//返回當(dāng)前列表長度

刪除命令

lpop key ? //把最左邊的第一個(gè)元素c刪除 rpop key ? //把最右邊的元素a刪除lrem key count value//刪除指定元素 lrem test 4 b ?//從左右開始刪除b的元素,刪除4個(gè),若不夠4個(gè)則刪除已有的ltrim key start end ltrim name 1 3 //只保留從第2到第4(下標(biāo)從0開始)的元素,其它全刪


修改

lset key index value lset name 2 java // 把第3個(gè)元素z替換成java

應(yīng)用場景

每個(gè)用戶有多個(gè)訂單key為 order:1 order:2 order:3, 結(jié)合hmset

hmset order:1 orderId 1 money 36.6 time 2018-01-01? hmset order:2 orderId 2 money 38.6 time 2018-01-01? hmset order:3 orderId 3 money 39.6 time 2018-01-01?

把訂單信息的key放到隊(duì)列

lpush user:1:order order:1 order:2 order:3

每新產(chǎn)生一個(gè)訂單,

hmset order:4 orderId 4 money 40.6 time 2018-01-01?

追加一個(gè)order:4放入隊(duì)列第一個(gè)位置

lpush user:1:order order:4

當(dāng)需要查詢用戶訂單記錄時(shí):

? ? List orderKeys = lrange user:1 0 -1 //查詢user:1 的所有訂單key值for(Order order: orderKeys){hmget order:1}


————————————————
版權(quán)聲明:本文為CSDN博主「lingengy」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/w1lgy/article/details/84376925

總結(jié)

以上是生活随笔為你收集整理的Redis系列四、redis的五种数据结构和相关指令之List的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。