程序员的资源宝库

网站首页 > gitee 正文

redis数据库——python使用和django中使用

sanyeah 2024-04-05 13:06:59 gitee 6 ℃ 0 评论

为什么要学redis

1、redis是内存 no-sql 数据库,相比mysql等硬盘数据库效率高
2、在内存值配置数据库使用,而不直接使用内存,redis存储的数据是可以管理的
3、memcache也是内存数据库,且django默认采用的就是memcache数据库,用redis替换memcache的路由很简单,后者更强大
    redis支持更多的数据类型
    redis自带缓存机制,出现数据库系统崩溃数据也是可以有找回的功能
    redis可以主动完成数据持久化(自带数据持久化功能)
    redis的数据过期时间机制也可以自身完成

安装redis与可视化操作工具

注:在官网安装系统版本,下载对应安装包安装即可

python使用redis

下载安装包

 pip 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')

redis支持数据类型:字符串、字典、列表、集合、有序集合

支持的数据类型:String、Hash、List、Set、Sorted Set

String:存储其他类型不能存的所有数据
Hash:存储 key-value 形式数据,类似于字典
List:存储 一系列有序value 形式数据,列表(数组)
Set:存储 一系列无序value 形式数据,集合
Sorted Set:存储 有排列标号value 形式数据,排行

 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

 

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表