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

歡迎訪問 生活随笔!

生活随笔

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

数据库

【Redis】详细基础命令 - 学习笔记

發布時間:2025/3/21 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Redis】详细基础命令 - 学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis 環境搭建及運行

安裝(Ubuntu舉例,其他系統類似)

apt-get update && apt-get install redis-server -y

啟動 redis

redis-server &

注:加上 & 是讓 redis-server 運行在后臺,按 enter 后,即可不阻塞當前終端。

redis 自帶客戶端連接 redis-server

redis-cli

Redis 連接與安全驗證

redis 設置 pass 驗證

Redis數據庫可以使用安全的方案,使得進行連接的任何客戶端在執行命令之前都需要進行身份驗證。

要保護Redis安全,需要在配置文件中設置密碼。

查看密碼配置

CONFIG get requirepass

默認情況下此屬性為空,這表示還沒有為此實例設置密碼。您可以通過執行以下命令更改此屬性。如下所示:

1) "requirepass" 2) ""

進行密碼配置

CONFIG set requirepass "pwd-store-in-server"

注:pwd-store-in-server 是你設置的密碼

CONFIG get requirepass

設置密碼后,如果任何客戶端運行命令而不進行身份驗證,則會返回一個 (error) NOAUTH Authentication required. 的錯誤信息。 因此,客戶端需要使用AUTH命令來驗證。

AUTH命令語法

AUTH YourNewPassword

Redis連接命令

下表列出了與Redis連接相關的一些基本命令。

redis-cli 序號命令說明
1AUTH password使用給定的密碼驗證服務器
2ECHO message打印給定的字符串信息
3PING檢查服務器是否正在運行
4QUIT關閉當前連接
5SELECT index更改當前連接的所選數據庫

在遠程服務器上運行命令

要在Redis遠程服務器上運行命令,需要通過客戶端redis-cli連接到服務器

語法:

redis-cli -h host -p port -a password
  • host : 主機
  • port : 端口
  • password : 密碼

舉例:

redis-cli -h 127.0.0.1 -p 6379 -a 123456

Redis 數據結構-鍵(key)

Redis 鍵命令用于管理 Redis 中的鍵。以下是使用redis鍵命令的語法。

COMMAND KEY_NAME

Redis鍵命令

下表列出了與鍵相關的一些基本命令。

編號命令描述
1DEL key此命令刪除一個指定鍵(如果存在)。
2DUMP key此命令返回存儲在指定鍵的值的序列化版本。
3EXISTS key此命令檢查鍵是否存在。
4EXPIRE key seconds設置鍵在指定時間秒數之后到期/過期。
5EXPIREAT key timestamp設置在指定時間戳之后鍵到期/過期。這里的時間是Unix時間戳格式。
6PEXPIRE key milliseconds設置鍵的到期時間(以毫秒為單位)。
7PEXPIREAT key milliseconds-timestamp以Unix時間戳形式來設置鍵的到期時間(以毫秒為單位)。
8KEYS pattern查找與指定模式匹配的所有鍵。
9MOVE key db將鍵移動到另一個數據庫。
10PERSIST key刪除指定鍵的過期時間,得永生。
11PTTL key獲取鍵的剩余到期時間。
12RANDOMKEY從Redis返回一個隨機的鍵。
13RENAME key newkey更改鍵的名稱。
14PTTL key獲取鍵到期的剩余時間(以毫秒為單位)。
15RENAMENX key newkey如果新鍵不存在,重命名鍵。
16TYPE key返回存儲在鍵中的值的數據類型。

Redis 數據結構-字符串(string)

Redis字符串命令

下表列出了一些用于在 Redis 中管理字符串的基本命令。

編號命令描述說明
1SET key value此命令設置指定鍵的值。
2GET key獲取指定鍵的值。
3GETRANGE key start end獲取存儲在鍵上的字符串的子字符串。
4GETSET key value設置鍵的字符串值并返回其舊值。
5GETBIT key offset返回在鍵處存儲的字符串值中偏移處的位值。
6MGET key1 [key2…]獲取所有給定鍵的值
7SETBIT key offset value存儲在鍵上的字符串值中設置或清除偏移處的位
8SETEX key seconds value使用鍵和到期時間來設置值
9SETNX key value設置鍵的值,僅當鍵不存在時
10SETRANGE key offset value]在指定偏移處開始的鍵處覆蓋字符串的一部分
11STRLEN key獲取存儲在鍵中的值的長度
12MSET key value [key value …]為多個鍵分別設置它們的值
13MSETNX key value [key value …]為多個鍵分別設置它們的值,僅當鍵不存在時
14PSETEX key milliseconds value設置鍵的值和到期時間(以毫秒為單位)
15INCR key將鍵的整數值增加1
16INCRBY key increment將鍵的整數值按給定的數值增加
17INCRBYFLOAT key increment將鍵的浮點值按給定的數值增加
18DECR key將鍵的整數值減1
19DECRBY key decrement按給定數值減少鍵的整數值
20APPEND key value將指定值附加到鍵

Redis 數據結構-哈希(hash)

Redis Hashes 是字符串字段和字符串值之間的映射(類似于PHP中的數組類型)。 因此,它們是表示對象的完美數據類型。

在Redis中,每個哈希(散列)可以存儲多達4億個鍵-值對。

Redis哈希命令

下表列出了與哈希/散列相關的一些基本命令。

序號命令說明
1HDEL key field2 [field2]刪除一個或多個哈希字段。
2HEXISTS key field判斷是否存在散列字段。
3HGET key field獲取存儲在指定鍵的哈希字段的值。
4HGETALL key獲取存儲在指定鍵的哈希中的所有字段和值
5HINCRBY key field increment將哈希字段的整數值按給定數字增加
6HINCRBYFLOAT key field increment將哈希字段的浮點值按給定數值增加
7HKEYS key獲取哈希中的所有字段
8HLEN key獲取散列中的字段數量
9HMGET key field1 [field2]獲取所有給定哈希字段的值
10HMSET key field1 value1 [field2 value2 ]為多個哈希字段分別設置它們的值
11HSET key field value設置散列字段的字符串值
12HSETNX key field value僅當字段不存在時,才設置散列字段的值
13HVALS key

Redis 數據結構-列表(list)

Redis 列表只是字符串列表,按插入順序排序。可以在列表的頭部或尾部添加Redis 列表中的元素。

列表的最大長度為 2^32 - 1 個元素(即 4294967295 ,每個列表可存儲超過40億個元素)。

Redis列表命令

下表列出了與列表相關的一些基本命令。

序號命令說明
1BLPOP key1 [key2 ] timeout刪除并獲取列表中的第一個元素,或阻塞,直到有一個元素可用
2BRPOP key1 [key2 ] timeout刪除并獲取列表中的最后一個元素,或阻塞,直到有一個元素可用
3BRPOPLPUSH source destination timeout從列表中彈出值,將其推送到另一個列表并返回它; 或阻塞,直到一個可用
4LINDEX key index]通過其索引從列表獲取元素
5LINSERT key BEFORE/AFTER pivot value在列表中的另一個元素之前或之后插入元素
6LLEN key獲取列表的長度
7LPOP key刪除并獲取列表中的第一個元素
8LPUSH key value1 [value2]將一個或多個值添加到列表
9LPUSHX key value]僅當列表存在時,才向列表添加值
10LRANGE key start stop從列表中獲取一系列元素
11LREM key count value從列表中刪除元素
12LSET key index value通過索引在列表中設置元素的值
13LTRIM key start stop修剪列表的指定范圍
14RPOP key刪除并獲取列表中的最后一個元素
15RPOPLPUSH source destination刪除列表中的最后一個元素,將其附加到另一個列表并返回
16RPUSH key value1 [value2]將一個或多個值附加到列表
17RPUSHX key value僅當列表存在時才將值附加到列表

Redis 數據結構-集合(set)

Redis 集合是唯一字符串的無序集合。 唯一值表示集合中不允許鍵中有重復的數據。

在 Redis 中設置添加,刪除和測試成員的存在(恒定時間O(1),而不考慮集合中包含的元素數量)。列表的最大長度為 2^32 - 1 個元素(即4294967295,每組集合超過40億個元素)。

Redis集合命令

下表列出了與集合相關的一些基本命令。

序號命令說明
1SADD key member1 [member2]將一個或多個成員添加到集合
2SCARD key獲取集合中的成員數
3SDIFF key1 [key2]減去多個集合
4SDIFFSTORE destination key1 [key2]減去多個集并將結果集存儲在鍵中
5SINTER key1 [key2]相交多個集合
6SINTERSTORE destination key1 [key2]交叉多個集合并將結果集存儲在鍵中
7SISMEMBER key member判斷確定給定值是否是集合的成員
8SMOVE source destination member將成員從一個集合移動到另一個集合
9SPOP key從集合中刪除并返回隨機成員
10SRANDMEMBER key [count]從集合中獲取一個或多個隨機成員
11SREM key member1 [member2]從集合中刪除一個或多個成員
12SUNION key1 [key2]添加多個集合
13SUNIONSTORE destination key1 [key2]添加多個集并將結果集存儲在鍵中
14SSCAN key cursor [MATCH pattern] [COUNT count]遞增地迭代集合中的元素

Redis 事務(transaction)

Redis 事務允許在單個步驟中執行一組命令。以下是事務的兩個屬性:

  • 事務中的所有命令作為單個隔離操作并按順序執行。不可以在執行 Redis 事務的中間向另一個客戶端發出的請求。
  • Redis 事務也是原子的。原子意味著要么處理所有命令,要么都不處理。

語法示例

Redis 事務由命令 MULTI 命令啟動,然后需要傳遞一個應該在事務中執行的命令列表,然后整個事務由 EXEC 命令執行。

MULTI List of commands here EXEC

Redis事務命令

下表列出了與 Redis 事務相關的一些基本命令。

序號命令說明
1DISCARD丟棄在MULTI之后發出的所有命令
2EXEC執行MULTI后發出的所有命令
3MULTI標記事務塊的開始
4UNWATCH取消 WATCH 命令對所有 key 的監視。
5WATCH key [key …]監視給定的鍵以確定MULTI / EXEC塊的執行

Redis 腳本

Redis 腳本用于使用 Lua解釋器 來執行腳本。從 Redis 2.6.0 版開始內置到Redis 中。使用腳本的命令是 EVAL 命令。

語法

以下是 EVAL 命令的基本語法。

EVAL script numkeys key [key ...] arg [arg ...]

Redis事務命令

下表列出了與Redis腳本相關的一些基本命令。

序號命令說明
1EVAL script numkeys key [key …] arg [arg …]執行一個Lua腳本。
2EVALSHA sha1 numkeys key [key …] arg [arg …]執行一個Lua腳本。
3SCRIPT EXISTS script [script …]檢查腳本緩存中是否存在腳本。
4SCRIPT FLUSH從腳本緩存中刪除所有腳本。
5SCRIPT KILL殺死當前正在執行的腳本。
6SCRIPT LOAD script將指定的Lua腳本加載到腳本緩存中。

Redis 配置(redis.conf)

在 Redis 中,在 Redis 的根目錄下有一個配置文件( redis.conf )。當然您可以通過 Redis CONFIG 命令獲取和設置所有的 Redis 配置。

語法 以下是 Redis 中的 CONFIG 命令的基本語法。

CONFIG GET CONFIG_SETTING_NAME

要獲取所有配置設置,請使用*代替CONFIG_SETTING_NAME

編輯配置

要更新配置,可以直接編輯 redis.conf 文件,也可以通過 CONFIG set 命令更新配置。

語法 以下是 CONFIG SET 命令的基本語法。

CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

Redis 發送訂閱(pub sub)

Redis 發布訂閱( pub/sub )是一種消息通信模式:發送者( pub)發送消息,訂閱者( sub )接收消息。 Redis 發布訂閱( pub/sub )實現了消息系統,發送者(在 redis 術語中稱為發布者)在接收者(訂閱者)接收消息時發送消息。傳送消息的鏈路稱為信道。

在 Redis 中,客戶端可以訂閱任意數量的信道。

Redis發布訂閱命令

下表列出了與 Redis 發布訂閱相關的一些基本命令。

序號命令說明
1PSUBSCRIBE pattern [pattern …]訂閱一個或多個符合給定模式的頻道。
2PUBSUB subcommand [argument [argument …]查看訂閱與發布系統狀態。
3PUBLISH channel message將信息發送到指定的頻道。
4PUNSUBSCRIBE [pattern [pattern …]退訂所有給定模式的頻道。
5SUBSCRIBE channel [channel …]訂閱給定的一個或多個頻道的信息。
6UNSUBSCRIBE [channel [channel …]退訂給定的頻道。

Redis 基準測試(benchmark)

Redis 基準測試是通過同時運行 n 個命令來檢查 Redis 的性能的實用程序。

語法

以下是基準測試命令的基本語法。

redis-benchmark [option] [option value]

以下是Redis基準測試中可用選項的列表。

序號選項說明默認值
1-h指定服務器主機名127.0.0.1
2-p指定服務器端口6379
3-s指定服務器套接字
4-c指定并行連接的數量50
5-n指定請求的總數10000
6-d指定SET/GET值的數據大小(以字節為單位)2
7-k1=keep alive, 0=reconnect1
8-r使用SET/GET/INCR的隨機鍵,SADD的隨機值
9-p管道*[Math Processing Error]*請求1
10-h指定服務器主機名
11-q強制讓Redis安裝。 只顯示query/sec值
12--csv以CSV格式輸出
13-l生成循環,永久運行測試
14-t只運行逗號分隔的測試列表
15-I空閑模式。 只打開N個空閑連接并等待

示例1

以下示例通過調用100000個命令檢查Redis。

redis-benchmark -n 100000

示例2

下面的示例顯示了Redis基準實用程序中多個選項的使用。

redis-benchmark -h IP -p PORD -a PASSWORK -t set,lpush -n 100000 -q redis-benchmark -h IP -p PORD -a PASSWORK -n 100000 -c 1000 -d 1024 -l

總結

以上是生活随笔為你收集整理的【Redis】详细基础命令 - 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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