redis操作 + python連接redis(StrictRedis)


Redis

方法命令總結

keys string hash list set zset
exists set hset lpush sadd zadd
type setex hmset rpush smembers zrange
delete mset hkeys linsert srem zangebyscore
expire append hvals lrange   zscore
getrange get hget lset   zrem
ttl mget hmget lrem   zremrangebyscore
  key hdel      

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