redis數據類型及api操作,建議收藏

2020-09-09 JAVA大神周瑜

key

keys *

scan 0 match * count 1

exists key 判斷某個key是否存在

move key db 當前庫就沒有了,到指定的庫中去了

expire key 為給定的key設置過期時間

ttl key 查看還有多少時間過期 -1表示永不過期 -2表示已過期

type key 查看key是什麼類型

1.string

string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value。

string類型是二進位安全的。意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 。

string類型是Redis最基本的數據類型,一個redis中字符串value最多可以是512M

set key value 設置key value

get key 查看當前key的值

del key 刪除key

append key value 如果key存在,則在指定的key末尾添加,如果key存在則類似set

strlen key 返回此key的長度

以下幾個命令只有在key值為數字的時候才能正常操作

incr key 為執定key的值加一

decr key 為指定key的值減一

incrby key 數值 為指定key的值增加數值

decrby key 數值 為指定key的值減數值

getrange key 0(開始位置) -1(結束位置) 獲取指定區間範圍內的值,類似between......and的關係 (0 -1)表示全部

setrange key 1(開始位置,從哪裡開始設置) 具體值 設置(替換)指定區間範圍內的值

setex 簡 秒值 真實值 設置帶過期時間的key,動態設置。

setnx key value 只有在 key 不存在時設置 key 的值。

mset key1 value key2 value 同時設置一個或多個 key-value 對。

mget key1 key 2 獲取所有(一個或多個)給定 key 的值。

msetnx key1 value key2 value 同時設置一個或多個 key-value 對,若且唯若所有給定 key 都不存在。

getset key value 將給定 key 的值設為 value ,並返回 key 的舊值(old value)。

2.list

它是一個字符串鍊表,left、right都可以插入添加; 如果鍵不存在,創建新的鍊表; 如果鍵已存在,新增內容;如果值全移除,對應的鍵也就消失了。 鍊表的操作無論是頭和尾效率都極高,但假如是對中間元素進行操作,效率就很慘澹了。

Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。 它的底層實際是個鍊表

lpush key value1 value2 將一個或多個值加入到列表頭部

rpush key value1 value2 將一個或多個值加入到列表底部

lrange key start end 獲取列表指定範圍的元素 (0 -1)表示全部

lpop key 移出並獲取列表第一個元素

rpop key 移出並獲取列表最後一個元素

lindex key index 通過索引獲取列表中的元素

llen 獲取列表長度

lrem key 0(數量) 值,表示刪除全部給定的值。這個就是全部值 從left往right刪除指定數量個值等於指定值的元數,返回的值為實際刪除的數量

ltrim key start(從哪裡開始截) end(結束位置) 截取指定索引區間的元素,格式是ltrim list的key 起始索引 結束索引

3.set

Redis的Set是string類型的無序,不能重複的集合。

sadd key value1 value 2 向集合中添加一個或多個成員

smembers key 返回集合中所有成員

sismembers key member 判斷member元素是否是集合key的成員

scard key 獲取集合裡面的元素個數

srem key value 刪除集合中指定元素

srandmember key 數值 從set集合裡面隨機取出指定數值個元素 如果超過最大數量就全部取出,

spop key 隨機移除並返回集合中某個元素

smove key1 key2 value(key1中某個值) 作用是將key1中執定的值移除 加入到key2集合中

sdiff key1 key2 在第一個set裡面而不在後面任何一個set裡面的項(差集)

sinter key1 key2 在第一個set和第二個set中都有的 (交集)

sunion key1 key2 兩個集合所有元素(併集)

4.hash

Redis hash 是一個鍵值對集合。 Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象。

kv模式不變,但v是一個鍵值對類似Java裡面的Map

hset key (key value) 向hash表中添加一個元素

hget key key 向hash表中獲取一個元素

hmset key key1 value1 key2 value2 key3 value3 向集合中添加一個或多個元素

hmget key key1 key2 key3 向集合中獲取一個或多個元素

hgetall key 獲取在hash列表中指定key的所有欄位和值

hdel key key1 key2 刪除一個或多個hash欄位

hlen key 獲取hash表中欄位數量

hexits key key 查看hash表中,指定key(欄位)是否存在

hkeys key 獲取指定hash表中所有key(欄位)

hvals key 獲取指定hash表中所有value(值)

hincrdy key key1 數量(整數) 執定hash表中某個欄位加 數量 ,和incr一個意思

hincrdyfloat key key1 數量(浮點數,小數) 執定hash表中某個欄位加 數量 ,和incr一個意思

hsetnx key key1 value1 與hset作用一樣,區別是不存在賦值,存在了無效。

5.zset

Redis zset 和 set 一樣也是string類型元素的集合,且不允許重複的成員。 不同的是每個元素都會關聯一個double類型的分數。 redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。

zadd key score 值 score 值 向集合中添加一個或多個成員

zrange key 0 -1 表示所有 返回指定集合中所有value

zrange key 0 -1 withscores 返回指定集合中所有value和score

zrangebyscore key 開始score 結束score 返回指定score間的值

zrem key score某個對應值(value),可以是多個值 刪除元素

zcard key 獲取集合中元素個數

zcount key 開始score 結束score 獲取分數區間內元素個數

zrank key vlaue 獲取value在zset中的下標位置(根據score排序)

zscore key value 按照值獲得對應的分數

覺得不錯的可以評價加轉化讓更多人看到喲,明天更新redis的持久化機制,想知道嘛,明天為您揭曉

相關焦點

  • Redis入門教程:特性及數據類型的操作
    【IT168 技術】雖然Redis已經很火了,相信還是有很多同學對Redis只是有所聽聞或者了解並不全面,下面是一個比較系統的Redis介紹,對Redis的特性及各種數據類型及操作進行了介紹。是一個很不錯的Redis入門教程。
  • Redis詳解:sets數據類型及操作
    【IT168 專稿】 set是集合,和我們數學中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交並差等操作,操作中key理解為集合的名字。  系列文章:  Redis詳解:strings數據類型及操作  Redis詳解:hashes數據類型及操作  Redis詳解:lists數據類型及操作  Redis的set是string類型的無序集合。set元素最大可以包含(2的32次方)個元素。
  • Redis詳解:lists數據類型及操作
    【IT168 專稿】 list是一個鍊表結構,主要功能是push、pop、獲取一個範圍的所有值等等,操作中key理解為鍊表的名字。  系列文章:  Redis詳解:strings數據類型及操作  Redis詳解:hashes數據類型及操作  Redis的list類型其實就是一個每個子元素都是string類型的雙向鍊表。鍊表的最大長度是(2的32次方)。我們可以通過push,pop操作從鍊表的頭部或者尾部添加刪除元素。這使得list既可以用作棧,也可以用作隊列。
  • redis系列-基礎操作和數據類型
    Windows版本的redis伺服器只要點擊redis-server.exe即可啟動。但是客戶端的啟動需要我們熟悉一些命令行的輸入。命令行這種模式的工具我們一般需要學那些命令呢?的操作來對以上四點做個簡單的描述功能性命令:新增信息功能:設置 key,value 數據命令 set key value
  • Redis數據類型及場景應用
    一、 redis 特點所有數據存儲在內存中,高速讀寫提供豐富多樣的數據類型:string、 hash、 set、 sorted set、bitmap、hyperloglog提供了 AOF 和 RDB 兩種數據的持久化保存方式,保證了 Redis 重啟後數據不丟失Redis 的所有操作都是原子性的,還支持對幾個操作合併後的原子性操作,支持事務通常我們都把數據存到關係型資料庫中
  • redis數據類型使用場景_redis 五種數據類型的使用場景 - CSDN
    > HashSetsorted_set --> TreeSetString類型redis 數據存儲格式redis自身是一個Map類型的存儲方式,其中所有的數據都是採用key:value的形式存儲我們討論的數據類型指的是存儲的數據的類型,也就是value部分的類型,key部分永遠都是字符串
  • Redis數據類型知識分享
    字符串類型是redis最基礎的數據結構,首先鍵是字符串類型,而且其他幾種結構都是在字符串類型基礎上構建的,2. 所以字符串類型能為其他四種數據結構的學習尊定基礎。3. 字符串類型實際上可以是字符串4. (簡單的字符串、複雜的字符串(xml、json)、數字(整數、浮點數)、二進位(圖片、音頻、視頻)),5. 但最大不能超過512M。
  • Redis系列之數據類型
    上節我們介紹Redis的安裝和部署,這節我們就來正式步入學習Redis的過程,今天我們主要講講Redis中支持的數據類型。Redis支持數據類型有以下5種:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合),下面我們將一一介紹。
  • Redis的String類型的數據結構
    很多用過redis的同事都知道redis的5種基本數據結構。String、List、Hash、Set、zset。少部分同事會知道Redis中的Bitmap、Geo、HyperLogLog以及布隆過濾器。Redis這些數據類型的數據結構是怎麼設計的呢?人人都說redis對內存優化到了極致,具體是怎麼優化的呢?
  • 超值乾貨 | 建議收藏:阿里巴巴官方最新Redis開發規範
    非字符串的bigkey,不要使用del刪除,使用hscan、sscan、zscan方式漸進式刪除,同時要注意防止bigkey過期時間自動刪除問題(例如一個200萬的zset設置1小時過期,會觸發del操作,造成阻塞,而且該操作不會不出現在慢查詢中(latency可查)),查找方法和刪除方法 選擇適合的數據類型
  • 《Redis入門指南》第1集:Redis的5種數據類型
    想起最近學習了redis資料庫,所以嘗試用redis來搭建這個博客。首先第一個功能,發布文章,文章的發布有兩部分內容,一個是標題,一個是內容。這個功能可以用redis的字符型數據類型來實現。有的,是散列數據類型。散列類型所謂散列,就是我們常說的數組。有欄位有數值。
  • Redis 的 8 大數據類型,寫得非常好!(建議收藏)
    Redis 的八大數據類型Redis-key127.0.0.1:6379> keys *(empty list or set)127.0.0.1:6379> set name xxxOK127.0.0.1:6379> keys *1) "name"127.0.0.1:6379> set age 1OK127.0.0.1:6379>
  • ASP.NET Core API+MVC+Redis 模擬購物車
    ,添加路由 [Route(&34;)]注意,如果不加api,這個接口是不能正確顯示數據的頁面代碼:using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using
  • Redis的各項功能解決了哪些問題
    如果api消費者如果有效的利用了響應中的緩存控制信息,則可以有效的改善其感知的性能(10分鐘以內)。但是還有2個弊端:第一個是在緩存生效的10分鐘內,api消費者可能會得到舊的數據;第二個是如果api的客戶端無視緩存直接訪問API依然是需要2秒,治標不治本吶。
  • 教你快速入門redis,玩轉redis的第一步
    redis是什麼?主要是用來做緩存,但不僅僅只能做緩存,比如:redis的計數器生成分布式唯一主鍵,redis實現分布式鎖,隊列,會話緩存。去哪下?官網,也可以通過Linux yum直接下載安裝怎麼玩?
  • 一文搞定Redis五大數據類型及使用場景
    字符串字符串類型是Redis最基礎的數據結構,字符串類型可以是JSON、XML甚至是二進位的圖片等數據,但是最大值不能超過512MB。1.1 內部編碼Redis會根據當前值的類型和長度決定使用哪種內部編碼來實現。字符串類型的內部編碼有3種:int:8個字節的長整型。embstr:小於等於39個字節的字符串。
  • 分享redis中除5種基礎數據類型以外的高級數據類型
    眾所周知,在redis中的數據類型有String(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)五種。但在這5種之外還有高級數據類型。今天和大家介紹下常用的高級數據類型:1、HyperLogLog。
  • 最詳細的Redis五種數據結構詳解(理論+實戰),建議收藏
    閃瞎人的五顏六色圖在redisObject中「type表示屬於哪種數據類型,encoding表示該數據的存儲方式」,也就是底層的實現的該數據類型的數據結構。不慌,會進行五種數據結構的詳細介紹,這張圖只是讓你找到每種中數據結構對應的儲存類型有哪些,大概腦子裡有個印象。
  • redis五種數據類型及使用場景
    無論存入的是字符串、整數、浮點類型都會以字符串寫入redis中所有的key都是字符串類型,其它幾種數據類型構成的元素也是字符串。注意字符串的長度不能超過512M。 常用命令: set,get,decr,incr,mget 等。
  • redis高並發利器:神奇的位操作,底層原理、數據結構剖析
    本文主要和大家分享一下redis的高級特性:bit位操作。力求讓大家徹底學會使用redis的bit位操作並掌握其底層實現原理!主要包含以下內容:redis位操作命令示例底層數據結構分析為什麼他的算法時間複雜度是O(1)?10億數據量需要多大的存儲空間?redis位操作適合哪些應用場景?