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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis 数据操作命令汇总(string hash list set zset)

發布時間:2025/4/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis 数据操作命令汇总(string hash list set zset) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、string ? ? 字符串型

? ? set name ?zhangsan ? # ?設置name(key) 為zhangsan(value)

? ? get name ? ? ? ? ? ? ?#獲取key的值

? ? exists name ? ? #判斷name是否存在

? ? del ?name ? ?#刪除鍵值 name

? ? type name ? #獲取name的類型? ? ?

? ? ?

? ? incr sum ?#如果鍵 sum 不存在 ?則創建 初始值為 1 ? 若存在 ?則加一 ?如果不是整數型 則報錯

? ? incrby sum 12 #與incr類似 sum+12 ? ?

? ? decr sum ? ?#與incr相反 減去 1

? ? decrby sum 12 ?#sum-12

? ??

? ? incrbyfloat sum 0.2 # sum+0.2?

? ? append name ?" is " #尾部添加 is

? ? strlen name #獲取name的長度

? ??

? ? mget ?name ?sum ?#同時獲取多個鍵 ?

? ? mset ?name ?lisi ? sum 1110 #同時設置多個值

? ?【del ?支持通配符 ? 可刪除所有符合規則的 ?在這里可以看到 http://www.cnblogs.com/mintworld/p/5729805.html】

2、 hash 散列類型

? ? ??

?

? ? ? ? 存儲方式如果按照 萬物皆對象 就像上圖一樣 命令如下

? ? ? ? hset person:1 ?height ?175

? ? ? ? hset person:1? weight ?120

? ? ? ? hset person:1? age ? ? ? 28

?

? ? ? ? hget person:1 ?age ?#獲取age

? ? ? ? ? ? ? ? 或者

? ? ? ? hmset ?person:1 ?height 175 weight 120 age 28

? ? ? ? hmget ? ??person:1 ?height weight age

? ? ? ? hgetall ?person:1

?

? ? ? ? hexists person:1 ?age # 判斷鍵的字段是否存在

? ? ? ? hsetnx person:1 ?age 120 # 如果age存在則無任何操作 不存在則創建字段賦值給字段

? ? ??

? ? ? ? hincrby person:1 age ?1 ?#如果字段age存在則 age+1 如果不存在則 創建字段并賦值為1 如果類型不可累加 則報錯

? ? ? ? hdel person:1 age height #刪除一個或多個字段

? ? ? ? hkeys person:1 ?#獲取所有的字段

? ? ? ? hvals person:1 #獲取所有的字段值

? ? ? ? hlen ?person:1 #獲取字段數量

3、 ? list 列表類型?

? ? ? ? lpush message cust:123:hello #放入列表左側

? ? ? ? rpush message cust:123:hello #放入列表右側

? ? ? ? lpop ?message ?#從左邊彈出一個值

? ? ? ? rpop ?message #從右側彈出一個值

? ? ? ? llen message ?#獲取元素的個數

? ? ? ? lrange message 0 -1 #從第一個取出到最后一個

? ? ? ? lrem message ?2 1 ? #刪除前兩個值中為1的值 ? >0從左側 ?<0從右側 ? =0 刪除所有為1 的值

? ? ? ? lindex message ?2 ? ?#獲取值為2的下標 從0開始

? ? ? ? lset message 0 zhangsan ?#設置第一個值為zhangsan

? ? ? ? ltrim message 1 8 ? #只保留下標從1到8的值其余剪切掉

? ? ? ? linsert message after ?114 1 #在message中從0開始找到值為114然后在后面插入一個1 ? after ?另一個是before

? ? ? ? rpoplpush message ceshi #從message右側取出一個值放入 到 測試的左側中去\

4、 ? set 集合類型?

? ? ? ? sadd person:youyong ?user:1 user:2 ? ?# 向person:youyong ?放入 user:1 ?user:2 ?一般用來做的就是 ?標簽 ? 有游泳興趣的用戶是 ?1 2

? ? ? ? srem person:youyong user:1 user:2 ? #刪除一個或者多個元素

? ? ? ? smembers person:youyong ?#獲取所有元素

? ? ? ? sismember person:youyong user:1 #判斷元素是否存在

? ? ? ? ------------------------------------------------------差集 ?交集 ?并集--------------------------------

? ? ? ? sadd person:yinyue ? ?user:3 user:4 ? ?#準備工作

? ? ? ? sdiff ?person:youyong person:yinyue ? #結果是 user:1 user:2 ? ? ? A-B

? ? ? ? sadd?person:yinyue ? ?user1 ? #準備工作

? ? ? ? sinter?person:youyong person:yinyue #結果是 user:1

? ? ? ? sunion ?person:youyong person:yinyue ?#結果是 user:1 user:2 user:3 user:4

? ? ? ? ------------------------------------------------------------------------------------------------------

? ? ? ? ?scard person:youyong #獲取person:youyong 的元素個數?

? ? ? ? ?sdiffstore person:test person:youyong person:yinyue#將獲取到的值存儲到 person:test中去 ? sinterstore ?sunionstore ?一樣

? ? ? ? ?srandmember person:test ?#隨機獲取一個元素

? ? ? ? ?srandmember person:test ? 2 ?#隨機獲取2個元素? ? ? ? 2可以為負數 則有可能重復 ? 當大于所有元素個數的時候則全部出現

? ? ? ? ?spop person:test ?#隨機彈出一個元素

5、 ? ?zset 有序集合

? ? ? ? ? 有序集合與集合相比多了個排序

? ? ? ? zadd ?person:all ? ?80 user:1 ?90 user:2 #添加元素

? ? ? ? 修改的話

? ? ? ? zadd person:all ? ?100 user:1

? ? ? ? zscore ?person:all ? user:1 #獲取元素的值 ? 100

? ? ? ? zrange ?person:all ? 0 -1 #得到的結果是 升序的 ? user:2 ?user:1 ? 如果 ?zrange ?person:all ? 0 -1 withscores ?則是 ?user:2 ? 90 ? user:1 ?100

? ? ? ? zrevrange person:all ? 0 -1 ? #同上 得到的結果是 ?降續

? ? ? ? -----------------------------------------------------------------------------------------------------------

? ? ? ? zrangebyscore person:all ?80 100 ?#獲取元素值在 80到100的元素 包含兩端 ? 得到的結果是 ? user:1 ?100 ? ? ? ?withscores ? ?

? ? ? ? zrevrangebyscore person:all 80 100 ?#同上 得到的結果是 ?降續

? ? ? ??ZRANGEBYSCORE person:all (80 100 withscores ? ? #不包含80

? ? ? ? ?---------------------------------------------------------------------

? ? ? ? #取前幾個值?

? ? ? ?zrangebyscore person:all ?80 100 ?withscores ?limit 0 ?1 ? ?# 大于等于80小于等于100 取一個從下標0(第一個開始取)開始

? ? ? ?#增加某個元素的值

? ? ? ??ZINCRBY person:all ?1 ?user:1 ? #加1

? ? ????ZINCRBY person:all ?-1 ?user:1 ?#減1 ?

? ? ? ??ZCARD person:all ? #獲取元素個數

? ? ? ??ZCOUNT person:all 80 100 ?#獲取值在80和100之間元素的個數

? ? ? ??ZCOUNT person:all 80 +inf ? #大于等于 80以上的所有元素的個數 ? ?+inf -inf ?正無限大 ?負無限大

? ? ? ? zrem ?person:all ? user:1 user:2 ?#刪除多個元素

? ? ? ? ----------按照排名范圍刪除-------------------------------

? ? ? ??ZREMRANGEBYRANK person:all 0 ?2 ??

? ? ? ??ZREMRANGEBYSCORE person:all 20 80 ? #按照值刪除

? ? ? ? -----------獲得元素的排名------------------------

? ? ? ??ZRANK person:all user:1 ? ? #獲得升序排名

? ? ? ??ZREVRANK person:all user:1 ? #獲得降序排名

? ? ? ??

? ? ? ?

?

轉載于:https://www.cnblogs.com/mintworld/p/5743081.html

總結

以上是生活随笔為你收集整理的redis 数据操作命令汇总(string hash list set zset)的全部內容,希望文章能夠幫你解決所遇到的問題。

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