Redis 基本命令

2021-09-02 04:48:48 字數 4165 閱讀 7749

$dir: /usr/local/redis/redis-2.8.13

start sever: cd $dir

src/redis-server

src/redis-cli

stop server: pkill redis-server

commands :

keys *

將redis 作為linux 服務隨機啟動

vi /ect/rc/local 在其中新增一行**

/usr/local/redis/redis-2.8.13/src/redis-server

配置redis 配置檔案名稱:redis.conf

常用命令:

del name 刪除鍵

exists name 判斷鍵是否存在

redis 支援的各種資料型別及其操作介面。

1. strings 型別及操作

setnx 存在就不更新 不存在就設定

setex 設定有效時間

setex haircolor 10 red (設定haircolor = red 的有效期是10s)

setrange 設定key 的value 值的子字串

mset 一次這只多個key 的值,成功返回ok表示所有的值都設定了,失敗返回0 表示沒有任何值被設定。

msetnx 同上,不覆蓋已經存在的key。

getset 先獲取舊值,再設定新值。

getset name hongwan_new (hongwan)

get name hongwan_new

getrange 獲取指定key 的value 值的子字串。

getrange name 0 2

mget 一次獲取多個key 的值,如果對應的key 不存在,則返回nil

incr 對key 的值做加加操作,並返回新的值。注意incr 不是乙個int 的value 會返回錯誤。如果key 不存在,則設定key 為1。

incrby 增加指定值,不存在時認為初始值為0。

decr 對key 的值做的是減減操作。decr 乙個不存在的值,則將其設定為 -1。

decrby 減指定值。

strlen 取指定key 的value 值的長度。

2. hashes 型別及操作

hset 指定值

hset myhash field1 hello

hsetnx 存在則不覆蓋

hmset 同時設定hash 的多個field。

hmset myhash filed1 hello field2 hello2

hget 獲取指定的hash field

hget myhash field1

hmget 獲取全部指定的hash filed

hmget myhash field1 field2 field3

hincrby 指定的hash field 加上給定值。

hexits myhash field1 判斷field 是否存在。

hlen 返回指定hash 的 field 數量。

hdel myhash field1 刪除某個field。

hkeys myhash 返回hash 的所有field。

hvals myhash 返回所有欄位的值。

hgetall myhash 獲取某個hash 中全部的field 及value。

3. lists 型別及操作

list 是乙個鍊錶結構,主要功能是pus、pop 獲取乙個範圍的所有值等等,操作中key 理解為鍊錶的名字。

redis 的list 型別是乙個每個子元素是string 型別的雙向鍊錶。可以從鍊錶的頭部或尾部刪除或新增元素,因此list 可以用作佇列和棧。

lpush mylist hello 在頭部插入。

lrange mylist 0 -1 獲取部分。

rpush mylist hello 在尾部插入。

linsert mylist2 before world there 在key 對應的list 的特定位置之前或之後新增。

lset mylist2 0 "four" 設定指定位置的值。

lrem 從key 對應的list 中刪除 count 個和value 相同的元素。count > 0時,按從頭到尾的順序刪除。count < 0 從尾到頭刪除。count == 0 全部刪除。

ltrim 保留指定key 的值範圍內的資料。

lpop 從list 的頭部刪除元素,並返回刪除的元素值。整個操作為原子的。

lindex mylist2 0 返回名稱為key 的list 中的index 位置的元素。

llen mylist2 返回key 對應 list 的長度。

rpop 從list 的尾部刪除元素,並返回刪除的元素。

rpoplpush 從第乙個list 的尾部移除元素並新增到第二個元素的.

4. sets 型別及操作

redis 的set 是string 型別的不重複、無序集合。set 最大可包含2^32 個元素。

sadd myset hello 新增元素。

smembers myset 檢視所有元素。

srem myset hello 刪除元素。

spop myset 隨機發那會刪除set 中的乙個元素。

sdiff 返回所有給定key 與第乙個key 的差集。

sdiffstore myset4 myset2 myset3 返回myset3 與myset2的差集,並將結果存為myset4。

sinter myset2 myset3 返回所有給定key 的交集。

sinterstore myset5 myset2 myset3

sunion 返回所有給定key 的並集。

sunion myset2 myset3

sunionstore myset4 myset2 myset3

smove 從第乙個key 對應的set 中移除member 並新增到第二個對應的set 中。

smove myset2 myset3 three

scard myset 返回名稱為key 的set 的元素的個數。

sismember 測試member 是否是名稱為key 的set 的元素。

sismember myset two

srandmember 隨機返回名稱為key 的set 的乙個元素,但是不刪除。

srandmember myset

5. sorted sets 型別及操作。

6. redis 常用命令

keys * 返回滿足給定pattern 的所有key。

keys my*

exists key 判斷key 是否存在。

expire key 10 設定乙個key 的過期時間。

ttl 獲取有效時常。

move 將當前資料庫中的key 轉移到其他資料庫中。

persist key 移除給定key 的過期時間。

randomkey 隨機返回key 空間的乙個key。

rename key 重新命名key。

type key 返回值的型別。

7. 伺服器相關命令

ping 測試連線是否存活。

echo 在命令列列印一些內容。

select 選擇資料庫。redis 資料庫編號0~15。

quit 退出連線。

dbsize 返回當前資料庫中的key 的數目。

info 獲取伺服器的資訊和統計。

monitor 實時轉儲收到的請求。

config get dir 獲取伺服器配置資訊。

flushdb 刪除當前選擇資料庫中的所有key。

flushall 刪除所有資料庫中的所有key。

8. redis 高階實用特性。

requirepass beijing

連線的時候 auth beijing

連線到伺服器時指定口令 src/redis-cli-a beijing

9. 事務

當在乙個client 連線中發出multi 命令,這個連線會進入乙個事務上下文,該連線後續的命令並不是立即執行,而是先放到乙個佇列中。當從此連線接收到exec 命令後,redis 順序執行佇列中的所有命令。

取消事務 discard 清空事務命令佇列並推出事務上下文。

10. 持久化機制

snapshotting 方式

aof 方式

11. 虛擬記憶體的使用

redis基本命令

一,基本操作 1.select index index 0 idnex 17選擇資料庫 3.shutdown 停止資料庫 4.config get loglevel 得到當前日誌級別 5.flushall 清空所有資料庫的資料 6.keys 遍歷當前資料庫中所有的鍵 7.type key 獲取鍵的型...

redis基本命令

redis是乙個記憶體資料庫,通常可以作為快取使用,常用的命令有 redis server 啟動資料庫,預設埠為6379 redis cli 連線資料庫,預設ip是127.0.0.1,埠是6379 redis cli h 127.0.0.1 p 6380 a 密碼 連線資料庫,指定主機和埠號 sel...

redis 基本命令

1 del key 該命令用於在 key 存在時刪除 key。dump key 序列化給定 key 並返回被序列化的值。exists key 檢查給定 key 是否存在。expire key seconds 為給定 key 設定過期時間。expireat key timestamp expireat...