参考资料:html
https://django-redis-chs.readthedocs.io/zh_CN/latest/python
http://www.redis.cn/documentation.htmlredis
记录评论数、热度、浏览量等。(使用hash)django
记录个人收藏、个人文章等列表类型的数据。(使用zset)后端
记录某篇文章的点赞人员列表。(使用zset)centos
缓存频繁访问但又不太多的东西,例如:热门推荐。(使用hash)缓存
记录与当前浏览的对象相关的对象,例如:与当前文章相关的文章。(使用list)session
记录分类排行榜。(使用zset)数据结构
缓存历史记录,如:登陆历史等。(使用zset或hash)异步
无论什么数据类型,在Redis老是以key,value的形式存在,能够经过key得到value的值,redis数据结构类型的差别取决于value的类型。
例如:string类型的value是string,set类型的value是set,zset的value的类型是zset,而key都是string。
========================================================================================= string(字符串) {"key1":"hello Wrold" } set(集合) {"key2":{'a':null,'b':null}} set至关于字典,只是全部键对应的值都是null zset(有序集合) 有顺序的set hash(字典) {"key3":{'url1':'http://22'}} 能够用来存储用户信息 list(列表) {"key4": [1,2,4,3] =========================================================================================
string的应用
常见的用途:缓存用户基本信息。
将用户的基本信息序列化成JSON字符串,而后将序列化后的字符串保存到 Redis 来缓存。反过来,当取用户
信息时,会通过一次反序列化。
list的应用
一般用做异步队列、存储列表数据。
hash的应用
无序字典,字典的值只能是字符串。
hash的最后一个元素删除后,该数据结构自动被删除。
hash也能够存储用户的信息,和string不一样的是,hash能够对用户信息的每一个字段单独存储。
set集合的应用
set的最后一个元素删除后,该数据结构自动被删除。
set中不存在重复元素,利用这个特性,咱们能够用来存储防止重复事件发生的状况。例如:在抽奖活动系统中存储中奖用户,防止重复中奖。
Django 支持 Redis cache/session 后端的全功能组件。
Django-Redis能够和Django配合使用,充当cache/session
Django-Redis依赖于pyredis
做为session后端
SESSION_ENGINE = "django.contrib.sessions.backends.cache" SESSION_CACHE_ALIAS = "default"
做为cache后端
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } }
为何使用Django-Redis时,在配置文件里配置一下,就能生效?
以缓存为例,请对比一下三个类:RedisCache,DatabaseCache,MemcachedCache
from django_redis.cache import RedisCache from django.core.cache.backends.db import DatabaseCache from django.core.cache.backends.memcached import MemcachedCache
tar xzf redis-4.0.2.tar.gz
cd redis-4.0.2
make
make install
启动服务
redis-server
关闭链接
强行终止 Redis 进程可能会致使数据丢失。正确中止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为:
redis-cli shutdown
配置文件
经常使用参数说明
参数 | 值 | 说明 |
---|---|---|
daemonize | yes | 使Redis以守护进程模式运行 |
pidfile | /var/run/redis_端口号.pid | 设置Redis的PID文件位置 |
port | 端口号 | 设置Redis监听的端口号 |
dir | /var/redis/端口号 | 设置持久化文件存放位置 |
protected-mode | no | 关闭保护模式 |
未完待续……