Redis數據庫

Redis

Redis簡介

Redis是徹底開源免費的,遵照B SD協議,是一個高性能的key-value數據庫。其具備如下三種特色:python

  1)Redis支持數據的持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。git

  2)Redis不單單支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。github

  3)Redis支持數據的備份,即master-slave模式的數據備份。redis

 優點:數據庫

  1)redis支持更多的數據類型。如:String(字符串)、Hash(散列)、List(列表)、Set(集合)、Sorted Set(有序集合)。django

  2)redis自帶緩存機制,即便出現數據庫崩潰,數據也是能夠找回的。數組

  3)redis能夠主動完成數據持久化(自帶數據持久化功能)緩存

  4)redis的數據過時機制也是能夠自身完成數據結構

Redis數據類型

# 支持的數據類型:String(字符串)、Hash(散列)、List(列表)、Set(集合)、Sorted Set(有序集合)。

String:存儲其餘類型不能存的全部數據 Hash:存儲 key-value 形式數據,相似於字典 List:存儲 一系列有序value 形式數據,列表(數組) Set:存儲 一系列無序value 形式數據,集合 Sorted Set:存儲 有排列標號value 形式數據,排行

Redis安裝

Redis下載地址:https://github.com/MSOpenTech/redis/releases。(window版本)性能

命令行簡單使用redis:
redis-cli             # 啓動客戶端
set key value         # 設置值
get key               # 取出值        

 Redis基礎命令

# 啓動服務:
>: redis-server &

# 啓動客戶端鏈接redis
>: redis-cli -h localhost -p 6379 -n 數據庫編號(0~15)

# 鏈接成功後切換數據庫
>: select 數據庫編號

哈希操做

"""
經常使用方法:
單增:hset key field value
單查:hget key field
全部鍵值:hgetall key
單刪:hdel key field
全部key:hkeys key
全部值:hvals key
"""

列表操做

"""
右增: rpush key v1 v2 ... vn
左增: lpush key v1 v2 ... vn
修改: lset key index value
左刪: lpop key
右刪: rpop key
插入:linsert key before|after old_value new_value
區間:lrange key begin_index end_index
"""

集合操做

"""
增:sadd key v1 v2 ... vn
差集:sdiff key1 key2
並集:sinter key1 key2
交集:sunion key1 key2
查:smembers key
隨機刪:spop key
"""

有序集合

"""
增:zadd key score1 value1 score2 value2 ... scoren valuen
區間個數:zcount key begin_score end_score
排行低到高:zrange key begin_index end_index
排行高到低:zrevrange key begin_index end_index
"""

python使用redis

# 在Terminal內完成安裝
>: pip3 install redis

# 直接使用
import redis
r = redis.Redis(host='127.0.0.1', port=6379)

# 鏈接池使用
import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
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",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}
        }
    }
}

# 2.操做cache模塊直接操做緩存:views.py
from django.core.cache import cache  # 結合配置文件實現插拔式
# 存放token,能夠直接設置過時時間
cache.set('token', 'header.payload.signature', 10)
# 取出token
token = cache.get('token')
相關文章
相關標籤/搜索