redis相關操做

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')
相關文章
相關標籤/搜索