快取伺服器Redis 02 redis API

2021-10-22 19:32:44 字數 3756 閱讀 8527

本文主要說一下redis的操作命令,即api

1.set

新增key-value

set username admin

2.get

根據key獲取資料

get username

3.strlen

根據key獲取值的長度

strlen key

4.exists

判斷key是否存在

exists name

返回1存在 0不存在

5.del

刪除redis中的key

del key

6.keys

用於查詢符合條件的key

keys * 查詢redis中全部的key

keys n?me 使用佔位符獲取資料

keys nam* 獲取nam開頭的資料

7.mset

賦值多個key-value

mset key1 value1 key2 value2 key3 value3

8.mget

獲取多個key的值

mget key1 key2

10.type

檢查某個key的型別

type key

11.select

切換redis資料庫

select 0-15 redis中共有16個資料庫

12.flushdb

清空單個資料庫

flushdb

13.flushall

清空全部資料庫

flushall

14.incr

自動加1

incr key

15.decr

自動減1

decr key

16.incrby

指定數值新增

incrby 10

17.decrby

指定數值減

decrby 10

18.expire

指定key的生效時間 單位秒

expire key 20

key20秒後失效

19.pexpire

指定key的失效時間 單位毫秒

pexpire key 2000

key 2000毫秒後失效

20.ttl

檢查key的剩餘存活時間

ttl key -2資料不存在 -1該資料永不超時

21.persist

撤銷key的失效時間

persist key

優化api

22.setnx

如果k存在則不賦值

setnx k v

23.setex

給k賦值v,並設失效時限

setex k 10 v

24.set k v setparams

setparams屬性:

private static final string xx = "xx"; 有key的時候才賦值 private static final string nx = "nx"; 沒有key時才賦值 private static final string px = "px"; 毫秒

private static final string ex = "ex"; 秒

可以用雜湊型別儲存物件和屬性值--例:user物件

1.hset

為物件新增資料

hset key field value

2.hget

獲取物件的屬性值

hget key field

3.hexists

判斷物件的屬性是否存在

hexists key field

1表示存在 0表示不存在

4.hdel

刪除hash中的屬性

hdel user field [field ...]

5.hgetall

獲取hash全部元素和值

hgetall key

6.hkyes

獲取hash中的所有字段

hkeys key

7.hlen

獲取hash中所有屬性的數量

hlen key

8.hmget

獲取hash裡面指定欄位的值

hmget key field [field ...]

9.hmset

為hash的多個字段設定值

hmset key field value [field value ...]

10.hsetnx

設定hash的乙個字段,只有當這個欄位不存在時有效

hsetnx key field value

11.hstrlen

獲取hash中指定key的值的長度

hstrlen key field

12.hvals

獲取hash的所有值

hvals user

redis中的list集合是雙端迴圈列表,分別可以從左右兩個方向插入資料.

list集合可以當做佇列使用,也可以當做棧使用

佇列:存入資料的方向和獲取資料的方向相反--先進先出

棧:存入資料的方向和獲取資料的方向相同--先進後出

1.lpush

從佇列的左邊入隊乙個或多個元素

lpush key value [value ...]

2.rpush

從佇列的右邊入隊乙個或多個元素

rpush key value [value ...]

3.lpop

從佇列的左端出隊乙個元素

lpop key

4.rpop

從佇列的右端出隊乙個元素

rpop key

5.lpushx

當佇列存在時從佇列的左側入隊乙個元素

lpushx key value

6.rpushx

當佇列存在時從佇列的右側入隊乙個元素

rpushx key value

7.lrange

從列表中獲取指定返回的元素

lrange key start stop

lrange key 0 -1 獲取全部佇列的資料

8.lrem

從存於 key 的列表裡移除前 count 次出現的值為 value 的元素。 這個 count 引數通過下面幾種方式影響這個操作:

· count > 0: 從頭往尾移除值為 value 的元素。

· count < 0: 從尾往頭移除值為 value 的元素。

· count = 0: 移除所有值為 value 的元素。

lrem list -2 「hello」 會從存於 list 的列表裡移除最後兩個出現的 「hello」。

需要注意的是,如果list裡沒有存在key就會被當作空list處理,所以當 key 不存在的時候,這個命令會返回 0。

9.lset

設定 index 位置的list元素的值為 value

lset key index value

redis中操作可以新增事務的支援.一項任務可以由多個redis命令完成,如果有乙個命令失敗導致入庫失敗時.需要實現事務回滾.

1.multi

標記乙個事務開始

127.0.0.1:6379> multi

-->ok

2.exec

執行所有multi之後發的命令

127.0.0.1:6379> exec

-->ok 寫入庫

3.discard

丟棄所有multi之後發的命令

回滾

redis快取伺服器

1 安裝 安裝sudo apt install redis server 檢視服務狀態 sudo systemctl status redis server 檢視檔案位置 sudo whereis redis server 檢視版本號 sudo redis server version 日誌 var...

配置redis快取伺服器

1.如果是配置虛擬機器的redis快取,先開啟虛擬機器,然後用xshell連線上虛擬機器對虛擬機器進行操作。用xftp連線上虛擬機器傳入檔案。2.如果是配置雲伺服器的redis快取,直接用xshell和xftp連線上虛擬機器或者雲伺服器。如果我沒有更換檔案目錄,就是跟著走就行了 第三步 解壓redi...

Django使用redis快取伺服器

2.在setting中新增快取設定 caches 3.檢視函式 from django.core.cache import cache 引入快取模組def detail request,pk if cache.has key pk print 有cach post cache.get pk prin...