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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

hql 查询条件 set集合_Redis从入门到深入-Sorted_set的value

發布時間:2025/3/12 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hql 查询条件 set集合_Redis从入门到深入-Sorted_set的value 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. sorted_set 類型

  • 新的存儲需求,數據排序有利于數據的有效展示,需要提供一種可以根據自身特征進行排序的方式
  • 需要的存儲結構:新的存儲模型,可以保存可排序的數據
  • sorted_set類型:在set的存儲結構基礎上添加可排序字段

2. sorted_set 類型數據的基本操作

2.1 操作

  • 添加數據
zadd <key> <score1> <member1> [score2 member2]
  • 獲取全部數據
zrange <key> <start> <stop? [withscores] zrevrange <key> <start> <stop? [withscores]
  • 刪除數據
zrem <key> <member> [member...]
  • 按條件獲取數據
zrangebyscore <key> <min> <max> [withscores] [limit] zrevrangebyscore <key> <min> <max> [withscores] [limit]
  • 條件刪除數據
zremrangebyrank <key> <start> <stop> zremrangebyscore <key> <min> <max>
  • 獲取集合數據總量
zcard <key> zcount <key> <min> <max>
  • 集合交并操作
zinterstore <destination> <numkeys> <key> [key...] zunionstore <destination> <numkeys> <key> [key...]

2.2 注意

  • min與max用于限定搜索查詢的條件
  • start與stop用于限定查詢范圍,作用于索引,表示開始和結束索引
  • offset與count用于限定查詢范圍,作用于查詢結果,表示開始位置和數據總量

3. sorted_set 類型數據的擴展操作

  • 業務場景
  • 票選廣東十大杰出青年,各類綜藝選修海選投票
  • 各類資源網站TOP10(電影,歌曲,文檔,電商,游戲等) = 聊天室活躍度統計
  • 游戲好友親密度
  • 解決方案
  • 獲取數據對應的索引(排名)
  • zrank <key> <member> zrevrank <key> <member>
    • score值獲取與修改
    zscore <key> <member> zincrby <key> <increment> <member>

    4. sorted_set 類型數據操作的注意事項

    • score保存的數據存儲空間是64位,整數范圍long型
    • score保存的數據也可以是一個雙精度的double值,基于雙精度浮點數的特征,可能會丟失精度,使用時候要慎重
    • sorted_set底層存儲還是基于set結構的,因此數據不能重復,如果重復添加相同的數據,scoe值將被反復覆蓋,保留最后一次修改的結果

    5. sorted_set 類型應用場景

  • 業務場景
    基礎服務+增值服務類網站會設定各類會員的試用,讓用戶充分體驗會員優勢。例如觀影試用VIP、游戲VIP體驗,云盤下載體驗VIP,數據查看體驗VIP。當VIP體驗到期后,如果有效管理此類信息。即便對于正式VIP用戶也存在對應的管理方式。 網站會定期開始投票、討論。限時進行,逾期作廢。如何有效管理此類過期信息
  • 解決方案
  • 對于基于時間線限定的任務處理,將處理時間記錄為score值。利用排序功能區分處理的先后順序
  • 記錄下一個要處理的時間,當到期后處理對應任務,移除redis中的記錄,并記錄下一個要處理的時間
  • 當新任務加入時,判斷并更新當前下一個要處理的任務時間
  • 當提升sorted_set的性能,通常將任務根據特征存儲為若干個sorted_set。例如1小時內,1天內,1周內,1月內,季內,年度等。操作時逐級提升,將即將操作的若干個任務納入到1小時內處理的隊列中
  • 6. sorted_set 類型應用場景3

  • 業務場景
  • 任務、消息權重設定應用 當任務或者消息待處理,形成了任務隊列或者消息隊列時,對于高優先級的任務要保障對其優先處理,如何實現任務權重管理

  • 解決方案
  • 對于帶有權重的任務,優先處理權重高的任務,采用score記錄權重即可
  • 總結

    以上是生活随笔為你收集整理的hql 查询条件 set集合_Redis从入门到深入-Sorted_set的value的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。