国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis基本數(shù)據(jù)類型常用操作以及使用場景

這篇具有很好參考價(jià)值的文章主要介紹了Redis基本數(shù)據(jù)類型常用操作以及使用場景。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

字符串

SET ?key ?value ?? ??? ??? ?         //存入字符串鍵值對
MSET ?key ?value [key value ...] ?? ?//批量存儲字符串鍵值對
SETNX ?key ?value ?? ??? ?           //存入一個(gè)不存在的字符串鍵值對
GET ?key ?? ??? ??? ?                //獲取一個(gè)字符串鍵值
MGET ?key ?[key ...]?? ? ?? ?        //批量獲取字符串鍵值
DEL ?key ?[key ...] ?? ??? ?         //刪除一個(gè)鍵
EXPIRE ?key ?seconds ?? ??? ?        //設(shè)置一個(gè)鍵的過期時(shí)間(秒) 原子加減
INCR ?key ?? ??? ??? ?               //將key中儲存的數(shù)字值加1
DECR ?key ?? ??? ??? ?               //將key中儲存的數(shù)字值減1
INCRBY ?key ?increment ?? ??? ?      //將key所儲存的值加上increment
DECRBY ?key ?decrement ?? ?          //將key所儲存的值減去decrement

單值緩存

SET ?key ?value ?? ?
GET ?key ?? ?

對象緩存

1) SET ?user:1 ?value(json格式數(shù)據(jù))

2) MSET ?user:1:name ?huang? ?user:1:age 18? ? ?
MGET ?user:1:name ? user:1:age

分布式鎖

SETNX? product:123456? true ?? ??? ?????????//返回1代表獲取鎖成功
SETNX ?product:123456? true ?? ??? ?????????//返回0代表獲取鎖失敗
DEL ?product:123456??????????????????????????????//執(zhí)行完業(yè)務(wù)釋放鎖
SET product:123456? true ?ex ?10 ?nx?? ?????//防止程序意外終止導(dǎo)致死鎖

計(jì)數(shù)器

INCR article:readcount:{文章id} ??? ?
GET article:readcount:{文章id}

分布式系統(tǒng)全局序列號?? ?

INCRBY ?orderId ?1000?? ??? ?//redis批量生成序列號提升性能

?

HASH

HSET  key  field  value 			//存儲一個(gè)哈希表key的鍵值
HSETNX  key  field  value 		//存儲一個(gè)不存在的哈希表key的鍵值
HMSET  key  field  value [field value ...] 	//在一個(gè)哈希表key中存儲多個(gè)鍵值對
HGET  key  field 				//獲取哈希表key對應(yīng)的field鍵值
HMGET  key  field  [field ...] 		//批量獲取哈希表key中多個(gè)field鍵值
HDEL  key  field  [field ...] 		//刪除哈希表key中的field鍵值
HLEN  key				//返回哈希表key中field的數(shù)量
HGETALL? key				//返回哈希表key中所有的鍵值

HINCRBY  key  field  increment 		//為哈希表key中field鍵的值加上增量increment

對象緩存

HMSET  user  {userId}:name  zhuge  {userId}:balance  1888
HMSET  user  1:name  zhuge  1:balance  1888
HMGET  user  1:name  1:balance  

電商購物車

1)以用戶id為key
2)商品id為field
3)商品數(shù)量為value

購物車操作
添加商品    hset cart:1001 10088 1
增加數(shù)量    hincrby cart:1001 10088 1
商品總數(shù)    hlen cart:1001
刪除商品    hdel cart:1001 10088
獲取購物車所有商品    hgetall cart:1001

優(yōu)缺點(diǎn)

優(yōu)點(diǎn)
1)同類數(shù)據(jù)歸類整合儲存,方便數(shù)據(jù)管理
2)相比string操作消耗內(nèi)存與cpu更小
3)相比string儲存更節(jié)省空間

缺點(diǎn)
過期功能不能使用在field上,只能用在key上
Redis集群架構(gòu)下不適合大規(guī)模使用

鏈表

LPUSH  key  value [value ...] 		//將一個(gè)或多個(gè)值value插入到key列表的表頭(最左邊)
RPUSH  key  value [value ...]	 	//將一個(gè)或多個(gè)值value插入到key列表的表尾(最右邊)
LPOP  key			//移除并返回key列表的頭元素
RPOP  key			//移除并返回key列表的尾元素
LRANGE  key  start  stop		//返回列表key中指定區(qū)間內(nèi)的元素,區(qū)間以偏移量start和stop指定

BLPOP  key  [key ...]  timeout	//從key列表表頭彈出一個(gè)元素,若列表中沒有元素,阻塞等待					timeout秒,如果timeout=0,一直阻塞等待
BRPOP  key  [key ...]  timeout 	//從key列表表尾彈出一個(gè)元素,若列表中沒有元素,阻塞等待					timeout秒,如果timeout=0,一直阻塞等待

隊(duì)列

Stack(棧) = LPUSH + LPOP
Queue(隊(duì)列)= LPUSH + RPOP
Blocking MQ(阻塞隊(duì)列)= LPUSH + BRPOP

微博消息和微信公號消息?

1)MacTalk發(fā)微博,消息ID為10018
LPUSH  msg:{諸葛老師-ID}  10018
2)備胎說車發(fā)微博,消息ID為10086
LPUSH  msg:{諸葛老師-ID} 10086
3)查看最新微博消息
LRANGE  msg:{諸葛老師-ID}  0  4

Set集合

常用操作
SADD  key  member  [member ...]			//往集合key中存入元素,元素存在忽略,key不存在新建
SREM  key  member  [member ...]			//從集合key中刪除元素
SMEMBERS  key					        //獲取集合key中所有元素
SCARD  key					            //獲取集合key的元素個(gè)數(shù)
SISMEMBER  key  member			        //判斷member元素是否存在于集合key中
SRANDMEMBER  key  [count]			    //從集合key中選出count個(gè)元素,元素不從key中刪除
SPOP  key  [count]				        //從集合key中選出count個(gè)元素,元素從key中刪除

運(yùn)算操作
SINTER  key  [key ...] 				//交集運(yùn)算
SINTERSTORE  destination  key  [key ..]		//將交集結(jié)果存入新集合destination中
SUNION  key  [key ..] 				//并集運(yùn)算
SUNIONSTORE  destination  key  [key ...]		//將并集結(jié)果存入新集合destination中
SDIFF  key  [key ...] 				//差集運(yùn)算
SDIFFSTORE  destination  key  [key ...]		//將差集結(jié)果存入新集合destination中

微信抽獎(jiǎng)小程序?

1)點(diǎn)擊參與抽獎(jiǎng)加入集合
SADD key {userlD}
2)查看參與抽獎(jiǎng)所有用戶
SMEMBERS key	  
3)抽取count名中獎(jiǎng)?wù)?SRANDMEMBER key [count] / SPOP key [count]

微信微博點(diǎn)贊,收藏,標(biāo)簽?

1) 點(diǎn)贊
SADD  like:{消息ID}  {用戶ID}
2) 取消點(diǎn)贊
SREM like:{消息ID}  {用戶ID}
3) 檢查用戶是否點(diǎn)過贊
SISMEMBER  like:{消息ID}  {用戶ID}
4) 獲取點(diǎn)贊的用戶列表
SMEMBERS like:{消息ID}
5) 獲取點(diǎn)贊用戶數(shù) 
SCARD like:{消息ID}

?集合操作實(shí)現(xiàn)微博微信關(guān)注模型

1) 諸葛老師關(guān)注的人: 
zhugeSet-> {guojia, xushu}
2) 楊過老師關(guān)注的人:
 yangguoSet--> {zhuge, baiqi, guojia, xushu}
3) 郭嘉老師關(guān)注的人: 
guojiaSet-> {zhuge, yangguo, baiqi, xushu, xunyu)
4) 我和楊過老師共同關(guān)注: 
SINTER zhugeSet yangguoSet--> {guojia, xushu}
5) 我關(guān)注的人也關(guān)注他(楊過老師): 
SISMEMBER guojiaSet yangguo 
SISMEMBER xushuSet yangguo
6) 我可能認(rèn)識的人: 
SDIFF yangguoSet zhugeSet->(zhuge, baiqi}

集合操作實(shí)現(xiàn)電商商品篩選?

SADD  brand:huawei  P40
SADD  brand:xiaomi  mi-10
SADD  brand:iPhone iphone12
SADD os:android  P40  mi-10
SADD cpu:brand:intel  P40  mi-10
SADD ram:8G  P40  mi-10  iphone12

SINTER  os:android  cpu:brand:intel  ram:8G ?  {P40,mi-10}

Z-Set集合

常用操作

ZSet常用操作
ZADD key score member [[score member]…]	//往有序集合key中加入帶分值元素
ZREM key member [member …]		//從有序集合key中刪除元素
ZSCORE key member 			//返回有序集合key中元素member的分值
ZINCRBY key increment member		//為有序集合key中元素member的分值加上increment 
ZCARD key				//返回有序集合key中元素個(gè)數(shù)
ZRANGE key start stop [WITHSCORES]	//正序獲取有序集合key從start下標(biāo)到stop下標(biāo)的元素
ZREVRANGE key start stop [WITHSCORES]	//倒序獲取有序集合key從start下標(biāo)到stop下標(biāo)的元素

Zset集合操作
ZUNIONSTORE destkey numkeys key [key ...] 	//并集計(jì)算
ZINTERSTORE destkey numkeys key [key …]	//交集計(jì)算

?Zset集合操作實(shí)現(xiàn)排行榜文章來源地址http://www.zghlxwxcb.cn/news/detail-511256.html

1)點(diǎn)擊新聞
ZINCRBY  hotNews:20190819  1  守護(hù)香港
2)展示當(dāng)日排行前十
ZREVRANGE  hotNews:20190819  0  9  WITHSCORES 
3)七日搜索榜單計(jì)算
ZUNIONSTORE  hotNews:20190813-20190819  7 
hotNews:20190813  hotNews:20190814... hotNews:20190819
4)展示七日排行前十
ZREVRANGE hotNews:20190813-20190819  0  9  WITHSCORES

到了這里,關(guān)于Redis基本數(shù)據(jù)類型常用操作以及使用場景的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • redis 的基本介紹以及 五種 數(shù)據(jù)類型

    redis 的基本介紹以及 五種 數(shù)據(jù)類型

    一句話:redis 是一個(gè)開源的、使用C語言編寫的、支持網(wǎng)絡(luò)交互,基于內(nèi)存也可持久化的 key-value (非關(guān)系型)數(shù)據(jù)庫 redis作者博客,有興趣的小伙伴可以去逛一逛:http://github.com/antirez 關(guān)于key 的命名,不要太長也不要太短,Key太長越占資源,太短可讀性又很差,key 之間的單詞

    2024年02月11日
    瀏覽(24)
  • Redis五大數(shù)據(jù)類型以及相關(guān)操作

    keys * 查看當(dāng)前庫的所有鍵 exists key 判斷某個(gè)鍵是否存在 type key 查看鍵的類型 del key 刪除某個(gè)鍵 expire key seconds 為鍵值設(shè)置過期時(shí)間,單位秒 ttl key 查看還有多久過期,-1表示永不過期,-2表示已過期 dbsize 查看當(dāng)前數(shù)據(jù)庫中key的數(shù)量 flushdb 清空當(dāng)前庫 Flushall 通殺全部庫 String類型

    2024年02月02日
    瀏覽(29)
  • Redis 九種數(shù)據(jù)類型的基本操作

    Redis 九種數(shù)據(jù)類型的基本操作

    一、redis9種數(shù)據(jù)類型的基本操作 ①key操作 ②String類型 (1)Redis 最基本的數(shù)據(jù)類型,String 類型的值最大能存儲 512MB。 (2)string類型是二進(jìn)制, redis 的 string 可以包含任何數(shù)據(jù),一個(gè) key 對應(yīng)一個(gè) value。 ③list類型 Redis列表是簡單的字符串列表,按照插入順序排序。一個(gè)列表最多可以

    2024年02月15日
    瀏覽(26)
  • 【Spring Boot 3】【Redis】基本數(shù)據(jù)類型操作

    【Spring Boot 3】【Redis】基本數(shù)據(jù)類型操作

    軟件開發(fā)是一門實(shí)踐性科學(xué),對大多數(shù)人來說,學(xué)習(xí)一種新技術(shù)不是一開始就去深究其原理,而是先從做出一個(gè)可工作的DEMO入手。但在我個(gè)人學(xué)習(xí)和工作經(jīng)歷中,每次學(xué)習(xí)新技術(shù)總是要花費(fèi)或多或少的時(shí)間、檢索不止一篇資料才能得出一個(gè)可工作的DEMO,這占用了我大量的時(shí)

    2024年01月20日
    瀏覽(24)
  • 本文通過實(shí)例介紹了Redis的基礎(chǔ)知識、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)以及典型應(yīng)用場景 值得一看!

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 2017年,Redis是基于MIT許可發(fā)布的一個(gè)開源的高性能鍵值數(shù)據(jù)庫,其開發(fā)語言為C語言。它提供了多種數(shù)據(jù)類型(strings、hashes、lists、sets、sorted sets等),分布式支持(可橫向擴(kuò)展),內(nèi)存存儲,持久化功能,事務(wù)處理功能等。作為一種高性能的

    2024年02月06日
    瀏覽(39)
  • MySQL-Redis數(shù)據(jù)類型操作和MongoDB基本操作

    (1) 設(shè)置鍵值: (2) 讀取鍵值: (3) 數(shù)值類型自增1: (4) 數(shù)值類型自減1: (5) 查看值的長度: (1)對列表city插入元素:Shanghai Suzhou Hangzhou (2)將列表city里的頭部的元素移除 (3)將name列表的尾部元素移除到number列表的頭部 (4) 對一個(gè)已存在的列表插入新元素

    2024年02月16日
    瀏覽(34)
  • Redis的五大數(shù)據(jù)類型及其使用場景

    redis是一個(gè)非??焖??的非關(guān)系數(shù)據(jù)庫??解決方案。其簡單的鍵值數(shù)據(jù)模型使 Redis 能夠處理大型數(shù)據(jù)集,同時(shí)保持令人印象深刻的讀寫速度和可用性。?redis提供了五種數(shù)據(jù)類型,分別是是:1、string(字符串);2、hash(哈希);3、list(列表);4、set(集合);5、sor

    2024年02月16日
    瀏覽(18)
  • 記錄一下redis基本概念和常用場景

    Redis(Remote Dictionary Server)是一個(gè)開源的內(nèi)存數(shù)據(jù)庫,也可以稱為鍵值存儲系統(tǒng) 特點(diǎn) 內(nèi)存存儲 Redis將數(shù)據(jù)存儲在內(nèi)存中,以提供快速讀寫訪問。這使得Redis非常適合緩存、高速讀寫操作和計(jì)數(shù)器等場景。 鍵值存儲 Redis使用鍵值對的方式來存儲數(shù)據(jù),其中鍵是唯一的標(biāo)識符,而

    2024年02月13日
    瀏覽(43)
  • Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景分別是什么

    ? String String數(shù)據(jù)結(jié)構(gòu)是簡單的key-value類型,value其實(shí)不僅可以是String,也可以是數(shù)字。 常規(guī)key-value緩存應(yīng)用; 常規(guī)計(jì)數(shù):微博數(shù),粉絲數(shù)等。 #Hash Hash 是一個(gè) string 類型的 ?eld 和 value 的映射表,hash 特別適合用于存儲對象,后續(xù)操作的時(shí)候,你可以直接僅 僅修改這個(gè)對象中

    2024年01月23日
    瀏覽(36)
  • 2023-06-01:講一講Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景。

    2023-06-01:講一講Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景。

    2023-06-01:講一講Redis常見數(shù)據(jù)結(jié)構(gòu)以及使用場景。 答案2023-06-01: 字符串(String) 適合場景 緩存功能 Redis 作為緩存層,MySQL 作為存儲層,在大部分請求中,數(shù)據(jù)的讀取通常是從 Redis 中獲取。由于 Redis 具有支持高并發(fā)的特性,因此緩存層通常能夠加速讀寫操作,并減輕后端

    2024年02月07日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包