redis操作 + StrictRedis使用


 

Redis

string類型

  • 字符串類型是 Redis 中最為基礎的數據存儲類型。
  • 它在 Redis 中是二進制安全的,這便意味着該類型可以接受任何格式的數據。
  • 如JPEG圖像數據或Json對象描述信息等。
  • 在Redis中字符串類型的Value最多可以容納的數據長度是512M。

set:

#設置鍵值:
set key value

#設置鍵為name值為xiaoming的數據
set name xiaoming

 setex:

#設置鍵值及過期時間,以秒為單位
setex key seconds value

#設置鍵為aa值為aa過期時間為3秒的數據
setex aa 3 aa

mset:

#設置多個鍵值
mset key1 value1 key2 value2 ...

#設置鍵為a1值為python、鍵為a2值為java、鍵為a3值為c
mset a1 python a2 java a3 c++

append:

#追加值
append key value

#向鍵為a1中追加值abc
append a1 abc

get:

#獲取:根據鍵獲取值,如果不存在此鍵則返回nil
get key

#獲取鍵name的值
get name

mget:

#獲取多個鍵獲取多個值
mget key1 key2 ...

#獲取鍵a1、a2、a3的值
mget a1 a2 a3

鍵命令

key:

#查找鍵,參數支持正則表達式
keys pattern

#查看所有鍵
keys *

#查看名稱中包含a的鍵
keys a*

exists

#判斷鍵是否存在,如果存在返回1,不存在返回0
exists key1

#判斷鍵a1是否存在
exists a1

type:

#查看鍵對應的value的類型
type key

#查看鍵a1的值類型為redis⽀持的五種類型中的⼀種
type a1

delete:

#刪除鍵及對應的值
del key1 key2...

#刪除鍵a1、a2
del a2 a3

 expire:

#設置過期時間,以秒為單位
#如果沒有指定過期時間則⼀直存在,直到使⽤DEL移除
expire key seconds

#設置鍵a1的過期時間為3秒
expire a1 3

 ttl:

#查看有效時間,以秒為單位
ttl key

#查看鍵a1的有效時間
ttl a1

hash類型

  • ash⽤於存儲對象,對象的結構為屬性、值
  • 值的類型為string

 hset:

#設置單個屬性
hset key field value

#設置鍵 user的屬性name為xiaoming
hset user name xiaoming

hmset:

#設置多個屬性
hmset key field1 value1 field2 value2 ...

#設置鍵u2的屬性name為itcast、屬性age為11
hmset u2 name itcast age 11

hkeys:

#獲取指定的鍵的所有的屬性
hkeys key

#獲取鍵a1的所有屬性
hkeys a1

hget:

#獲取多個屬性的值
hmget key field1 field2 ...

#獲取鍵u2屬性name的值
hget u2 name

 hmget:

#獲取多個屬性的值
hmget key field1 field2 ...

#獲取鍵u2屬性name、age的值
hmget u2 name age

hvals:

#獲取所有屬性的值
hvals key

#獲取鍵u2所有屬性的值
hvals u2

hdel

#刪除整個hash鍵及值,使用del命令
#刪除屬性,屬性對應的值會被一起刪除
hdel key field1 field2 ...

#刪除鍵u2的屬性age
hdel u2 age

list類型

  • 列表的元素類型為string
  • 按照插入順序排序

lpush

#在左側插入數據
lpush key value1 value2 ...

#從鍵為a1的列表左側加⼊數據a 、 b 、c
lpush a1 a b c

rpush

#在右側插入數據
rpush key value1 value2 ...

#從鍵為a1的列表右側加⼊數據0、1
rpush a1 0 1

linsert

#在指定元素的前或后插入新元素
linsert key before或after 現有元素 新元素

#在鍵為a1的列表中元素b前加⼊3
linsert a1 before b 3

lrange

#start、stop為元素的下標索引
#索引從左側開始,第⼀個元素為0
#索引可以是負數,表示從尾部開始計數,如-1表示最后⼀個元素

#返回列表里指定范圍內的元素
lrange key start stop

#獲取鍵為a1的列表所有元素
lrange a1 0 -1

lset

#設置指定索引位置的元素值
lset key index value

#修改鍵為a1的列表中下標為1的元素值為z
lset a 1 z

lrem

#列表中前count次出現的值為value的元素移除
#count > 0: 從頭往尾移除
#count < 0: 從尾往頭移除
#count = 0: 移除所有

#刪除指定元素
lrem key count value

#向列表a2中加⼊元素a、b、a、b、a、b
lpush a2 a b a b a b

#從a2列表右側開始刪除2個b
lrem a2 -2 b

ltrim

#截取保留的元素
ltrim key start stop

# 只保留前三個元素(0-2)
ltrim name 0 2

set類型

sadd:

#添加元素
sadd key member1 member2 ...

#向鍵a3的集合中添加元素zhangsan、lisi、wangwu
sadd a3 zhangsan sili wangwu

 smembers

#返回所有的元素
smembers key

#獲取鍵a3的集合中所有元素
smembers a3

srem

#刪除指定元素
srem key

#刪除鍵a3的集合中元素wangwu
srem a3 wangwu

zset類型:

  • sorted set,有序集合
  • 元素為string類型
  • 元素具有唯一性,不重復
  • 每一個元素都會關聯一個double類型的score,表示權重,通過權重將元素從小到大排序
  • 注:zset類型沒有修改操作

 zadd

#添加
zadd key score1 member1 score2 member2 ...

#向鍵a4的集合中添加元素lisi、wangwu、zhaoliu、zhangsan,權重分別為4、5、6、3

zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan

zrange

#返回指定范圍內的元素(-1表示最后一個元素)
#start、stop為元素的下標索引
#索引從左側開始,第一個元素為0
#索引可以是負數,表示從尾部開始計數,如-1表示最后一個元素
zrange key start stop

#獲取鍵a4的集合中所有元素
zrange a4 0 -1

zrangebyscore 

#返回score值在min和max之間的成員
zrangebyscore key min max

#獲取鍵a4的集合中權限值在5和6之間的成員
zrangebyscore a4 5 6

 zscore 

#返回成員member的score值
zscore key member

#獲取鍵a4的集合中元素zhangsan的權重
zscore a4 zhangsan

zrem

#刪除指定元素
zrem key member1 member2 ...

#刪除集合a4中元素zhangsan
zrem a4 zhangsan

zremrangebyscore 

#刪除集合a4中元素zhangsan
zrem a4 zhangsan

#刪除權重在指定范圍的元素
zremrangebyscore key min max

#刪除集合a4中權限在5、6之間的元素
zremrangebyscore a4 5 6

 

StrictRedis對象⽅法

引⼊模塊

 

#引入模塊
#這個模塊中提供了StrictRedis對象,⽤於連接redis服務器,並按照不同類型提供 了不同⽅法,進⾏交互操作

from redis import StrictRedis

 

通過init創建對象,指定參數host、port與指定的服務器和端⼝連接,host默認為localhost,port默認為6379,db默認為0

sr = StrictRedis(host='localhost',port=6379,db=0)

 

簡寫:

sr = StrictRedis()

 string-增加

try:
    #創建StrictRedis對象,與redis服務器建⽴連接
    sr=StrictRedis()

    #添加鍵name,值為itheima
    result=sr.set('name','xiaoming')

    #輸出響應結果,如果添加成功則返回True,否則返回False
    print(result)

except Exception as e:
    print(e)

string-獲取

try:
    #創建StrictRedis對象,與redis服務器建⽴連接
    sr=StrictRedis()

    #獲取鍵name的值
    result = sr.get('name')

    #輸出鍵的值,如果鍵不存在則返回None
    print(result)

except Exception as e:
    print(e)

string-修改

try:
    #創建StrictRedis對象,與redis服務器建⽴連接
    sr=StrictRedis()

    #設置鍵name的值,如果鍵已經存在則進⾏修改,如果鍵不存在則進⾏添加
    result = sr.set('name','xiaoming')

    #輸出響應結果,如果操作成功則返回True,否則返回False
    print(result)

except Exception as e:
    print(e)

string-刪除

try:
    #創建StrictRedis對象,與redis服務器建⽴連接
    sr=StrictRedis()

    #設置鍵name的值,如果鍵已經存在則進⾏修改,如果鍵不存在則進⾏添加
    result = sr.delete('name')

    #輸出響應結果,如果刪除成功則返回受影響的鍵數,否則則返回0
    print(result)

except Exception as e:
    print(e)

獲取鍵

 try:
    #創建StrictRedis對象,與redis服務器建⽴連接
    sr=StrictRedis()

    #獲取所有的鍵
    result=sr.keys()

    #輸出響應結果,所有的鍵構成⼀個列表,如果沒有鍵則返回空列表
    print(result)
    
except Exception as e:
    print(e)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM