目錄
一、準備工作
二、操作數據庫
2.1 切換數據庫
2.2 存儲和查看數據
一、存儲語法
二、一次性存儲多個鍵值對
三、追加值
四、查看值的類型
五、查詢值
六、一次查詢多個值
?七、查看當下數據庫所有的鍵
八、刪除鍵
九、查看 鍵 是否存在
十、重命名鍵
2.3 過期時間管理
2.4?列表(Lists)
2.5?集合(Set)
2.6?有序集合(Sorted Set)
2.7?哈希(Hash)
三、公共操作
四、redis與python交互?
一、準備工作
安裝redis非常簡單,只需要下載壓縮文件解壓即可
鏈接:redis-latest.rar官方版下載丨最新版下載丨綠色版下載丨APP下載-123云盤
提取碼:1024
下載完成后按照以下步驟開啟服務
第一步:先找到解壓的文件,可以選擇在該文件夾內的導航欄輸入cmd回車或者直接雙擊redis-server二選一打開終端
第二步:在終端輸入 redis-server 開啟服務
注意:這個窗口不能關閉
第三步:重開一個終端輸入 redis-cli? 【在導航欄輸入的cmd打開的終端】
然后就可以在這里操作 redis數據庫了?
二、操作數據庫
redis支持16個數據庫(自帶,不可減少或增加),編號從0到15,默認進入0號數據庫,redis是以鍵值對存儲的,與MySQL不同,沒有表格概念,區分大小寫
2.1 切換數據庫
select 數據庫編號 # 進入指定數據庫
例如:進入 2 號數據庫
select 1
2.2 存儲和查看數據
?一、存儲語法
設置鍵值對:set 鍵 值
set s1 lysir
set s2 零一先生
注意:存儲中文字符時,需在進入 Redis 時使用?
redis-cli --raw
,否則顯示亂碼,但存儲是成功的。
?二、一次性存儲多個鍵值對
語法:mset 鍵1 值1 鍵2 值2 ...
mset s3 AA s4 BB s5 CC
三、追加值
語法:append 鍵 追加的值
append s3 aa # 結果變為 AAaa
四、查看值的類型
語法:type 鍵
type s1
五、查詢值
語法:get 鍵
get s1
六、一次查詢多個值
語法:mget 鍵1 鍵2 ...
mget s1 s3 s5
?七、查看當下數據庫所有的鍵
語法:keys *
八、刪除鍵
語法:del 鍵1 鍵2 ...
del s1 s3
九、查看 鍵 是否存在
語法:exists 鍵
返回值:存在返回?1
,不存在返回?0
。
exists s2
十、重命名鍵
語法:rename 舊鍵 新鍵
rename s2 new_s1
2.3 過期時間管理
當鍵超過設定的時間之后就會自動失效刪除
設置鍵的過期時間
expire 鍵 時間(秒)
查看鍵的剩余生存時間
ttl 鍵
返回值:
-2
:鍵已過期
-1
:鍵不存在或未設置過期時間取消鍵的過期時間
persist 鍵
2.4?列表(Lists)
-
特點:有序、可重復、動態(可在兩端添加)。
-
1、從左邊插入數據
lpush 列表鍵 值1 值2 ... 值
示例:
lpush L1 A B C D lysir
-
2、從右邊插入數據
rpush 列表鍵 值1 值2 ... 值N
示例:
rpush R1 E F G H lysir
3、查看列表內容
lrange 列表鍵 開始位置 結束位置
lrange L1 0 -1 # -1 表示到末尾
從左邊刪除一個元素
lpop 列表鍵
從右邊刪除一個元素
rpop 列表鍵
刪除整個列表
del 列表鍵
4、獲取指定索引的元素
lindex 列表鍵 索引
lindex R1 3
5、修改指定索引的元素值
lset 列表鍵 下標 值
lset L1 3 china
2.5?集合(Set)
-
特點:無序、唯一、動態。
1、添加元素到集合
sadd 集合鍵 值1 值2 ... 值N
示例:
sadd set1 v1 v2 v3 v4 v5
2、查看集合中所有成員
smembers 集合鍵
smembers set1
3、檢查元素是否在集合中
sismember 集合鍵 值
返回值:存在返回?1
,不存在返回?0
。
sismember set1 v6
4、刪除集合中的元素
srem 集合鍵 值1 值2 ...
srem set1 v1 v2 v5
2.6?有序集合(Sorted Set)
-
特點:有序(有下標)、唯一、每個元素關聯一個分數(用于排序),動態。
1、添加元素到有序集合
zadd 鍵 分數1 值1 分數2 值2 ... 分數N 值N
zadd sset1 80 A 90 B 100 C 98 D 88 E
2、獲取有序集合的元素
zrange 鍵 起始下標 結束下標
zrange sset1 0 -1 # -1 表示到末尾
3、獲取有序集合的分數
zscore 鍵 值
zscore sset1 A
-
4、獲取有序集合的元素及分數
-
正序查看:
zrange 鍵 起始下標 結束下標 withscores
-
zrange sset1 0 -1 withscores
-
倒序查看:
zrevrange 鍵 起始下標 結束下標 withscores
-
zrevrange?sset1 0 -1 withscores
-
-
5、根據分數篩選查詢
zrangebyscore 鍵 最小分數 最大分數
zrangebyscore sset1 80 90
6、修改指定成員的分數
zincrby 鍵 要修改的分數(正數是加 負數是減)? 值
zincrby sset1 200 B
zincrby sset1 -50 C
7、刪除有序集合中的元素
zrem 鍵 值1 值2 ... 值N
zrem sset1 A C D
?2.7?哈希(Hash)
-
特點:鍵值對存儲(一個鍵對應多個值),無序、動態。
1、單個設置
語法:hset 哈希鍵 字段?值?
2、多個設置
hmset 哈希鍵 字段1 值1 字段2 值2 ...
hmset HXuser name zhou age 18 msg xxx
?3、獲取哈希表的值
-
獲取單個值:
hget 哈希鍵 字段
-
獲取多個值:
hmget 哈希鍵 字段1 字段2 ...
hmget HXuser name age msg
4、獲取哈希表所有 字段 及 值
-
獲取所有值:
hvals 哈希鍵
-
獲取所有字段:
hkeys 哈希鍵
-
獲取所有鍵值:
hgetall 哈希鍵
hgetall HXuser
5、檢查哈希表中是否存 在 某個字段
hexists 哈希鍵 字段
返回值:存在返回?1
,不存在返回?0
。
hexists HXuser china
7、刪除哈希表 字段
hdel 哈希鍵 字段1 字段2 ...
返回值:實際刪除的字段數量。
hdel HXuser age msg
三、公共操作
-
查看所有鍵
keys *
-
清空當前數據庫
flushdb
-
清空所有數據庫
flushall
注意:此操作不可逆,會清空所有 16 個數據庫的數據。
特別注意
Redis 數據默認存儲在內存中,服務關閉后數據會丟失。若需持久化存儲,請查閱相關文檔。
四、redis與python交互?
redis并不是內置模塊,所以需要先下載 redis 模塊
安裝Redis庫:?
pip install redis -i https://mirrors.aliyun.com/pypi/simple/
下面是python與redis交互演示代碼
# 1 導包
import redis
# 2建立連接
db_con = {'host':'127.0.0.1', #主機'port':6379, # 端口'db':0 #連接哪個數據庫
}
# 3連接Ridis服務器(會返回一個連接對象)
r = redis.Redis(**db_con)
print(r)# 4對數據庫進行操作
# 設置鍵值對=> r.set('key1','value1')
#a.新增
r.set('name','tonny')
#b.查詢(獲取)
name = r.get('name')
print(name)#其他操作也都可以通過 r.出來(點出來)# 5最后記得關閉連接
r.close()
溫馨提示:
1,必須確保 redis 服務器正常開啟了,否則會連接失敗
2,redis 端口號可以在開啟服務器的界面查看
?