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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

最全面的_Redis_基本操作总结

發布時間:2025/5/22 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最全面的_Redis_基本操作总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文知識較淺面,適合小白,如需進階另尋他路

一,優缺點:

優點:

  • 高科拓展性
  • 分布式計算
  • 低成本
  • 架構的靈活性、半結構化數據 沒有復雜的關系

缺點:

  • 沒有標準化
  • 有限的查詢功能(到目前為止)

分類

  • 列表存儲
  • 文檔存儲
  • Key-Value存儲
  • 圖存儲
  • 對象存儲
  • xml數據庫

顯著特性:

  • 高效性:Redis讀取的速度是110000次/S,寫的速度是81000次/S。

  • 原子性:對每一條數據操作要么成功,要么失敗。

  • 支持多種數據結構:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)。

  • 穩定性:redis支持各種架構,主從復制,哨兵模式,redis集群。

  • 其他特性:支持過期時間,支持事務,消息訂閱。

二、操作:

1、安裝:

windows 下 : 點擊此處
linux下:
sudo apt install redis-server
使用方式:
  • redis-cli 啟動
  • -p # 端口
  • -h # 主機

三、數據庫的切換:

redis默認帶有16個數據庫,編號從0-15。進?redis后默認數據庫是0,可以使用select num進?切換客戶端不顯示中?的處理:打開客戶端的時候添加參數

–rawredis-cli --raw

四、數據類型:

string

  • 簡介:
    string 可以包含任何數據,?如jpg 圖?或者序列化的對象。
    string類型是Redis最基本的數據類型,?個鍵最?能存儲512MB。常用于:緩存頁面、session共享、計數

  • 設置鍵:

命令:SET key value #設置單鍵值對 >set h1 100 #設置h1的值為100命令:mset key value [key value] #設置多個鍵值對 >mset name '王寶強' age 30 gender '男'命令:setex key seconds value #設置鍵值及過期時間(秒單位) >setex age 100 20 #設置年齡的值為20,過期時間100秒
  • 獲取鍵
命令:get key #獲取單個鍵 >get h1命令:mget key1 key2 key3 #獲取多個鍵 >mget name age sex
  • 查看過期時間
命令:ttl key >ttl a1 #查看a1的過期時間
  • 運算
原來的值必須是數值字符串 命令:incr key #將對應的key 加1 命令:decr key #將對應的key值減1 命令:incrby key num #將對應的key加指定值 命令:decrby key num #將對應的key的值減去指定值
  • 其他操作:
命令:append key value #追加值,redis中值都是字符串,追加就是字符拼>append name 'hello' #如果原來的值是tom,那么現在就是tomhello 命令:strlen key #獲取值得?度

hash

  • 簡介:
    Redis hash 是?個鍵值(key=>value)對集合。Redis hash是?個string類型的field
    和value的映射表,hash特別適合用于存儲對象。每個 hash 可以存儲 2的32次方
    -1 鍵值對(40多億)。存儲形式
  • 設置值
命令:hset key field value #設置key所指對象的指定屬性的值 命令:hmset key field value [field value] #設置key所指對象的多 個屬性值 命令:hsetnx key field value #當field字段不存在時 設置key所指對 象的field屬性值 eg: hset person name '?狗?' hmset person age 20 sex '男' hsetnx person maried '未婚'
  • 獲取值
命令: hget key field #獲取key指定的對象的屬性值 命令: hmget key field [field] #獲取key指定對象的多個屬性值 命令: hgetall key #獲取key所指對象的所有屬性的名稱和值 命令: hkeys key #獲取key所指對象的所有屬性名 命令: hvals key #獲取key所指對象是的所有屬性值 命令: hlen key #獲取key所指對象的屬性個數
  • 其他操作
命令:hincrby key field increment #為key所指對象的指定字段的整 數值加上increment 命令:hincrbyfloat key field increment #為key所指對象的指定字段的 實數值加上increment 命令:hexists key field #判斷當前的字段是否存在在(在返回1 否則返回 0) 命令:hdel key field [field] #刪除字段和值

list

  • 簡介:
    redis 列表是簡單的字符串列表,按照插?順序排序。你可以添加?個元素到列表
    的頭部(左邊)或者尾部(右邊)。列表最多可存儲 2的32次? - 1 元素
    (4294967295, 每個列表可存儲40多億)。
    常應?于:1、對數據量?的集合數據刪減 2、任務隊列
  • 添加數據:
命令:lpush key value [value] #頭部插?數據 命令:lpushx key value #如果列表存在則在列表頭部插?數據 命令:rpush key value [value] #在列表尾部添加數據 命令:rpushx key value #如果列表存在,則在尾部添加數據 命令:linsert key before|after value value #在指定值前或后插?數 據 命令:lset key index value #設定指定索引元素的值 注意:索引的值從左邊開始,向右增加,左邊第?個是0,從右邊向左索引編號 為:-1 -2...
  • 獲取數據
命令:lpop key #左側出隊并返回出隊元素 命令:rpop key #右側出隊并返回出隊元素 命令:lindex key index #返回指定索引的值 命令:lrange key start end #返回存儲列表中的指定范圍的元素[start,end] 命令:lrem key count value #從列表?移除前 count 次出現的值為 value 的元素count > 0: 從頭往尾移除值為 value 的元素。count < 0: 從尾往頭移除值為 value 的元素。count = 0: 移除所有值為 value 的元素。
  • 其他操作
命令:llen key #獲取列表?度 命令:ltrim key start stop #裁剪列表 保留start到stop之間的元素, 其它都刪除ltrime mylist -3 -1 #從索引為-3到-2的保留, 以外的全部刪除

set 無序的集合

  • 簡介
    Redis的Set是string類型的?序集合,元素具有唯?性 不重復。集合是通過哈希表
    實現的,所以添加,刪除,查找的復雜度都是O(1)。
    常應?于:對兩個集合間的數據進?交集、并集、差集運算
  • 添加元素
sadd key member [member] #添加多個元素
  • 獲取元素
smembers key #獲取集合中所有的元素scard key #返回集合元素的個數srandmember key [count] #返回集合中隨機元素的值,可以返回count個
  • 其他操作
spop key [count] #移除集合中隨機的count個元素,并返回 srem key member1 [member2] #移除集合中 ?個或者 多個 成員 sismember key member #判斷元素是否在集合中 存在返回1 不在返回0
  • 集合操作
求多個集合的交集: sinter key [key...] 求多個集合的差集 (注意?較順序):sdiff key [key...] 求 多個集合的并集: sunion key [key....]

zset 有序從大到小排序

  • 簡介
    Redis zset 和 set ?樣也是string類型元素的集合,且不允許重復的成員。不同的是
    每個元素都會關聯?個double類型的分數。redis正是通過分數來為集合中的成員
    進?從?到?的排序。zset的成員是唯?的,但分數(score)卻可以重復。
    常應?于:排?榜

  • 添加元素

zadd key score member [score member] #添加多個元素 zincrby key increment member #對指定的成員增加權重 increment
  • 獲取元素
zrange key start end #返回指定范圍的元素 zcard key #返回元素的個數 zcount key min max #返回有序集合中權重在min和max之間的元素的 個數 zscore key member #返回有序集合中 member(元素) 的權重 (score) zrange key start end withscores #返回當前key中 所有的權重 (score)和元素(member)

五、其他操作:

keys * #查看所有的keykeys u* #查以u開始的keykeys n??? 查找以n為開頭?度為4個的keykeys n 查找 包含 n 的所有的key?持的正則表達式: - h?llo 匹配第?位為任意的字符 - h*llo 匹配第?位為任意字符 0個 或多個 - h[ab]llo 匹配第?位為 a或者b的字符的key - hello 匹配第?位除了e字符以外的任意的key - h[a-z]llo 匹配第?位為a-z的?寫字?的key exists key #判斷鍵是否存在type key #查看key對應的value的類型del key #刪除指定keyexpire key 10 #設置過期時間,秒persist key #移除key的過期時間rename key newkey #修改key的名稱(如果新的key的名字存在 則會把存在的key的 值 覆蓋掉)randomkey #隨機返回?個 keymove key db 將鍵移動到指定庫flushdb #清空當前庫所有key flushall #清空所有庫?的keyexit #退出redis客戶端 quit 退出客戶端查看服務器信息 info dbsize 當前庫中有多少key

總結

以上是生活随笔為你收集整理的最全面的_Redis_基本操作总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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