<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 數據類型 Redis支持五種數據類型:`string`(字符串),`hash`(哈希),`list`(列表),`set`(集合)及`zset`(sorted set:有序集合)。 ### 1.`String`(字符串)操作 > redis中的String在在內存中按照一個name對應一個value來存儲 `set(name, value, ex=None, px=None, nx=False, xx=False)` 在Redis中設置值,不存在則創建,存在則修改 參數 | 意義 ---|--- ex|過期時間(秒) px|過期時間(毫秒) nx|如果設置為True,則只有name不存在時,當前set操作才執行,同setnx(name, value) xx|如果設置為True,則只有name存在時,當前set操作才執行 `setex(name, value, time)` 設置過期時間(秒) `psetex(name, time_ms, value)` 設置過期時間(豪秒) `mset(name1='***', name2='***',......)` 批量設置值 `get(name)` 獲取值 `mget(*keys)` 批量獲取值 `getset(name, value)` 設置新值,打印原值 `getrange(key, start, end)` 獲取值,并切片,返回切片后的結果 `setrange(name, offset, value)` 修改字符串內容,從指定字符串索引開始向后替換,如果新值太長時,則向后添加 `setbit(name, offset, value)` 對二進制表示位進行操作 `getbit(name, offset)` 獲取name對應值的二進制中某位的值(0或1) `bitcount(key, start=None, end=None)` 獲取對應二進制中1的個數 `strlen(name)` 返回name對應值的字節長度(一個漢字3個字節) `incr(name, amount=1)` 自增name對應的值,當name不存在時,則創建name=amount,否則,則自增,amount為自增數(整數) `incrbyfloat(name, amount=1.0)` 類似`incr()`自增,amount為自增數(浮點數) `decr(name, amount=1)` 自減name對應的值,當name不存在時,則創建name=amount,否則,則自減,amount為自增數(整數) `append(name, value)` 在name對應的值后面追加內容 ### 2.`Hash`(哈希)操作 > redis中的Hash 在內存中類似于一個name對應一個dic來存儲 `hset(name, key, value)` name對應的hash中設置一個鍵值對。不存在,則創建,否則,修改。 `hget(name,key)` 在name對應的hash中根據key獲取value `hgetall(name)` 獲取name對應hash的所有鍵值 `hmset(name, dict)` 在name對應的hash中批量設置鍵值對 `hmget(name, keys)` 在name對應的hash中獲取多個key的值 `hlen(name)` 獲取hash中鍵值對的個數 `hkeys(name)` 獲取hash中所有的key的值 `hvals(name)` 獲取hash中所有的value的值 `hexists(name, key)` 檢查name對應的hash是否存在當前傳入的key `hdel(name,*keys)` 刪除指定name對應的key所在的鍵值對 `hincrby(name, key, amount)` 自增hash中key對應的值,不存在則創建key=amount(amount為整數) `hincrbyfloat(name, key, amount)` 自增hash中key對應的值,不存在則創建key=amount(amount為浮點數) `hscan(name, cursor=0, match=None, count=None)` `hscan_iter(name, match=None, count=None)` ### `List`(列表)操作 > redis中的List在在內存中按照一個name對應一個List來存儲 `lpush(name,*values)` 在name對應的list中添加元素,每個新的元素都添加到列表的最左邊 `rpush(name,*values)` 同`lpush`,但每個新的元素都添加到列表的最右邊 `lpushx(name,value)` 在name對應的list中添加元素,只有name已經存在時,值添加到列表的最左邊 `rpushx(name,value)` 在name對應的list中添加元素,只有name已經存在時,值添加到列表的最右邊 `llen(name)` name對應的list元素的個數 `linsert(name, where, refvalue, value))` 在name對應的列表的某一個值前或后插入一個新值 參數 | 意義 ---|--- name|redis的name where|BEFORE(前)或AFTER(后) refvalue|列表內的值 value|要插入的數據 `r.lset(name, index, value)` 對list中的某一個索引位置重新賦值 `lrem(name, value, num)` 刪除name對應的list中的指定值 ``` name --- redis的name value --- 要刪除的值 num --- num為0,表示刪除列表中所有的指定值; num為n,表示從前到后刪除n個; num為-n:從后向前刪除n個 ``` `lpop(name)` 移除列表的左側第一個元素,返回值是移除的元素 `lindex(name, index)` 根據索引獲取列表內元素 `lrange(name, start, end)` 分片獲取元素 `ltrim(name, start, end)` 移除列表內沒有在該索引之內的值 `rpoplpush(src, dst)` # 從一個列表取出最右邊的元素,同時將其添加至另一個列表的最左邊,src要取數據的列表,dst要添加數據的列表 `brpoplpush(src, dst, timeout=0)` 同rpoplpush,多了個timeout, timeout:取數據的列表沒元素后的阻塞時間,0為一直阻塞 `blpop(keys, timeout)` 將多個列表排列,按照從左到右去移除各個列表內的元素;timeout: 超時時間,獲取完所有列表的元素之后,阻塞等待列表內有數據的時間(秒), 0 表示永遠阻塞 `brpop(keys, timeout)` 同blpop,將多個列表排列,按照從右像左去移除各個列表內的元素 ### `Set`(集合)操作 > Set集合就是不允許重復的列表 `sadd(name,*values)` 給name對應的集合中添加元素 `smembers(name)` 獲取name對應的集合的所有成員 `scard(name)` 獲取name對應的集合中的元素個數 `sdiff(name, *names)` 在第一個name對應的集合中且不在其他name對應的集合的元素集合 例: ``` import redis,time r = redis.Redis(host='127.0.0.1', port=6379) r.sadd("name","a","b") r.sadd("name1","b","c") r.sadd("name2","b","c","d") print(r.sdiff("name","name1","name2"))#輸出:{a} ``` `sdiffstore(dest, name, *names)` 相當于把`sdiff`獲取的值加入到dest對應的集合中 `sinter(*names)` 獲取多個name對應集合的交集 例: ``` import redis,time r = redis.Redis(host='127.0.0.1', port=6379) r.sadd("name","a","b") r.sadd("name1","b","c") r.sadd("name2","b","c","d") print(r.sinter("name","name1","name2"))#輸出:{b} ``` `sinterstore(dest, name, *names)` 獲取多個name對應集合的交集,再講其加入到dest對應的集合中;相當于把`sinter`獲取的值加入到dest對應的集合中 `sismember(name, value)` 檢查value是否是name對應的集合內的元素 `smove(src, dst, value)` 將某個元素從一個集合中移動到另外一個集合 `spop(name)` 從集合的右側移除一個元素,并將其返回 `srandmember(name, numbers)` 從name對應的集合中隨機獲取numbers個元素 `srem(name, *values)` 刪除name對應的集合中的某些值 `sunion(*names)` 獲取多個name對應的集合的并集 `sunionstore(dest,*names)` 獲取多個name對應的集合的并集,并將結果保存到dest對應的集合中 ### `zset`(有序集合) > 在集合的基礎上,為每元素排序,元素的排序需要根據另外一個值來進行比較,所以,對于有序集合,每一個元素有兩個值,即:值和分數,分數專門用來做排序 `zadd(name, *args, **kwargs)` 在name對應的有序集合中添加元素 `zcard(name)` 獲取有序集合內元素的數量 `zcount(name, min, max)` 獲取有序集合中分數在min~max之間的個數 `zincrby(name, value, amount)` 自增有序集合內value對應的分數 `zrange( name, start, end, desc=False, withscores=False, score_cast_func=float)` 按照索引范圍獲取name對應的有序集合的元素 參數 | 意義 ---|--- name|redis的name start|有序集合索引起始位置 end|有序集合索引結束位置 desc|排序規則,默認按照分數從小到大排序 withscores|是否獲取元素的分數,默認只獲取元素的值 score_cast_func|對分數進行數據轉換的函數 `zrevrange(name, start, end, withscores=False, score_cast_func=float)` 同`zrange`,集合是從大到小排序的 `zrank(name, value)` 獲取value值在name對應的有序集合中的排行位置(從0開始) `zrevrank(name, value)` 同`zrank`,集合是從大到小排序的 `zscore(name, value)` 獲取name對應有序集合中 value 對應的分數 `zrem(name, *values)` 刪除name對應的有序集合中值是values的成員 `zremrangebyrank(name, min, max)` 根據排行范圍刪除 `zremrangebyscore(name, min, max)` 根據分數范圍刪除 `zinterstore(dest, *keys, aggregate=None)` 獲取兩個有序集合的交集并放入dest集合,如果遇到相同值不同分數,則按照aggregate進行操作。aggregate的值為: SUM MIN MAX `zunionstore(dest, keys, aggregate=None)` 獲取兩個有序集合的并集并放入dest集合,其他同`zinterstore` --- ## 其他常用操作 `delete(*names)` 根據name刪除redis中的任意數據類型 `exists(name)` 檢測redis的name是否存在 `keys(pattern='*')` 根據* ?等通配符匹配獲取redis的name `expire(name ,time)` 為某個name設置超時時間 `rename(src, dst)` 重命名 `move(name, db))` 將redis的某個值移動到指定的db下 `randomkey()` 隨機獲取一個redis的name(不刪除) `type(name)` 獲取name對應值的類型
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看