《Django 5 By Example》学习第 22 天,p614-p644 总结,总计 31 页。

一、技术总结

1.功能: students 应用

2.缓存

Django自带的缓存有:

(1)backends.memcached.PyMemcacheCache

(2) backends.redis.RedisCache

(3)backends.db.DatabaseCache

(4)backends.filebased.FileBasedCache

(5)backends.locmem.LocMemCache

(6)backends.dummy.DummyCache

For optimal performance, use a memory-based cache backend like Memcached or Redis,

since accessing memory is faster than accessing data from databases of files(为了获得最佳性能,请使用基于内存的缓存后端,如Memcached或Redis,因为访问内存比从数据库或文件访问数据要快)

其实我很想知道既然 Memcached 和 Redis 都是基于内存,那么该怎么选择呢?很遗憾,作者选择了 Memcached(Memcached is a popular high-performance, memory-based cache server. We are going to use Memcached and the PyMemcacheCache Memcached backend.),但是为什么没有选择 Redis呢(当然,作者第 7 章也使用了 Redis 进行缓存)?作者没有进行比较说明。

Python中使用的 Memcached 客户端是pymemcache 包。

3.memcached

(1)docker compose 部署

memcached:

   image: memcached:latest
    container_name: memcached
    ports:
      - "11211:11211"
    restart: always
    command: memcached -m 64 -vv

作者使用的是 docker run 进行部署,每次看到这个,我就心生怨念,在实际业务中是不可能这样启动容器的,因为这容器多了之后非常不好管理。这里补充一下使用 docker compose 的方式启动容器。

二、英语总结(生词:1)

1.entail

(1)entail: en-("make") + taile("legal limitation")

vt. to involve sth(涉及,牵涉)。p628, Processing HTTP requests to your web application usually entails database access, data manipulation, and template rendering。

2.granularity

(1)granularity: granum("grain(颗粒,谷粒), seed") + -arity(a suffix that forms nouns)

u. refers to the state or quality of being made up of small, distinct parts—like grains。p628, Django includes a robust cache system that allows you to cache data with different levels of granularity(Django包含一个强大的缓存系统,允许你缓存不同颗粒度级别的数据)。

3.allot

(1)allot: ad-("to") + loter("lot")

vt. to give a share of sth for a particular purpose(分配,分派)。p629, Memcached runs in memory, and it is allotted a specified amount of RAM。

三、其它

完结,撒花。明天出读后感。

四、参考资料

1. 编程

(1) Antonio Melé,《Django 5 By Example》:https://book.douban.com/subject/37007362/

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

《Django 5 By Example》阅读笔记:p614-p644_Python

欢迎搜索及关注:编程人(a_codists)