redis介紹
redis安裝
"""
一、官網下載:安裝包或是綠色面安裝
二、安裝並配置環境變量
"""
redis VS mysql
"""
redis: 內存數據庫(讀寫快)、非關係型(操做數據方便、數據固定)
mysql: 硬盤數據庫(數據持久化)、關係型(操做數據間關係、能夠不一樣組合)
大量訪問的臨時數據,纔有redis數據庫更優
"""
redis VS memcache
"""
redis: 操做字符串、列表、字典、無序集合、有序集合 | 支持數據持久化(數據丟失能夠找回(默認持久化,主動持久化save)、能夠將數據同步給mysql) | 高併發支持
memcache: 操做字符串 | 不支持數據持久化 | 併發量小
"""
Redis操做
啓動服務
"""
前提:前往一個方便管理redis持久化文件的邏輯再啓動服務:dump.rdb
1)前臺啓動服務
>: redis-server
2)後臺啓動服務
>: redis-server --service-start
3)配置文件啓動服務
>: redis-server 配置文件的絕對路徑
>: redis-server --service-start 配置文件的絕對路徑
eg>: redis-server --service-start D:/redis/redis.conf
"""
密碼管理
"""
1)提倡在配置文件中配置,採用配置文件啓動
requirepass 密碼
2)當服務啓動後,而且連入數據庫,能夠再改當前服務的密碼(服務重啓,密碼重置)
config set requirepass 新密碼
3)連入數據庫,查看當前服務密碼密碼
config get requirepass
"""
鏈接數據庫
"""
1)默認鏈接:-h默認127.0.0.1,-p默認6379,-n默認0,-a默認無
>: redis-cli
2)完整鏈接:
>: redis-cli -h ip地址 -p 端口號 -n 數據庫編號 -a 密碼
3)先鏈接,後輸入密碼
>: redis-cli -h ip地址 -p 端口號 -n 數據庫編號
>: auth 密碼
"""
關閉服務
"""
1)在沒有鏈接進數據庫時執行
>: redis-cli shutdown
2)鏈接進數據庫後執行
>: shutdown
"""
切換數據庫
"""
1)在連入數據庫後執行
>: select 數據庫編號
"""
數據持久化
"""
1)配置文件默認配置
save 900 1 # 超過900秒有1個鍵值對操做,會自動調用save完成數據持久化
save 300 10 # 超過300秒有10個鍵值對操做,會自動調用save完成數據持久化
save 60 10000 # 超過60秒有10000個鍵值對操做,會自動調用save完成數據持久化
2)安全機制
# 當redis服務不可控宕機,會默認調用一下save完成數據持久化
3)主動持久化
>: save # 連入數據庫時,主動調用save完成數據持久化
注:數據持久化默認保存文件 dump.rdb,保存路徑默認爲啓動redis服務的當前路徑
"""
Redis數據類型
"""
數據操做:字符串、列表、哈希(字典)、無序集合、有序(排序)集合
有序集合:遊戲排行榜
字符串:
set key value
get key
mset k1 v1 k2 v2 ...
mget k1 k2 ...
setex key exp value
incrby key increment
列表:
rpush key value1 value2 ...
lpush key value1 value2 ...
lrange key bindex eindex
lindex key index
lpop key | rpop key
linsert key before|after old_value new_value
哈希:
hset key field value
hget key field
hmset key field1 value1 field2 value2 ...
hmget key field1 field2
hkeys key
hvals key
hdel key field
集合:
sadd key member1 member2 ...
sdiff key1 key2 ...
sdiffstore newkey key1 key2 ...
sinter key1 key2 ...
sunion key1 key2 ...
smembers key
spop key
有序集合:
zadd key grade1 member1 grade2 member2 ...
zincrby key grade member
zrange key start end
zrevrange key start end
"""
python使用redis
依賴
>: pip3 install redis
直接使用
import redis
r = redis.Redis(host='127.0.0.1', port=6379, db=1, password=None, decode_responses=True)
鏈接池使用
import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=1, max_connections=100, password=None, decode_responses=True)
r = redis.Redis(connection_pool=pool)
緩存使用:要額外安裝 django-redis
# 1.將緩存存儲位置配置到redis中:settings.py
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 100},
"DECODE_RESPONSES": True,
"PSAAWORD": "",
}
}
}
# 2.操做cache模塊直接操做緩存:views.py
from django.core.cache import cache # 結合配置文件實現插拔式
# 存放token,能夠直接設置過時時間
cache.set('token', 'header.payload.signature', 300)
# 取出token
token = cache.get('token')