新聞中心
redis怎么緩存用戶列表,做到可以分頁展示?

普通分頁
一般分頁做緩存都是直接查找出來,按頁放到緩存里,但是這種緩存方式有很多缺點。
如緩存不能及時更新,一旦數據有變化,所有的之前的分頁緩存都失效了。
比如像微博這樣的場景,微博下面現在有一個頂次數的排序。這個用傳統(tǒng)的分頁方式很難應對。
一種思路
最近想到了另一種思路。
數據以ID為key緩存到Redis里;
把數據ID和排序打分存到Redis的skip list,即zset里;
當查找數據時,先從Redis里的skip list取出對應的分頁數據,得到ID列表。
用multi get從redis上一次性把ID列表里的所有數據都取出來。如果有缺少某些ID的數據,再從數據庫里查找,再一塊返回給用戶,并把查出來的數據按ID緩存到Redis里。redis緩存是什么?
Redis緩存是一個開源的使用ANSIC語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。
為了運行一個優(yōu)化熱門查詢性能的Redis緩存,首先應確定你希望緩存的查詢結果。其中,應重點關注最常用的和最耗時的查詢,然后確定應緩沖查詢中的數據。為簡便起見,緩存查詢返回的所有列值。如何在django中使用redis做緩存服務器?
實現緩存的方式,有多種,本地內存緩存,數據庫緩存,文件系統(tǒng)緩存。這里介紹使用Redis數據庫進行緩存。
環(huán)境
redis
django-redis
配置
settings.py
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "PASSWORD": "mysecret"
}
}
}
本文名稱:redis怎么緩存用戶列表,做到可以分頁展示?(redis服務器如何看緩存)
鏈接分享:http://m.fisionsoft.com.cn/article/dhihcdh.html


咨詢
建站咨詢
