我是Redis的新手,所以如果这是一个愚蠢的问题我会道歉.
我正在使用Django和Redis作为缓存.
我正在腌制约200个对象的集合并将其存储在Redis中.
当我从Redis请求收集时,Django Debug Toolbar通知我对Redis的请求大约需要3 秒钟.我一定是做了一件可怕的错事.
服务器有3.5GB的RAM,看起来Redis目前只使用~50mb,所以我很确定它的内存不足.
当我get使用redis-cli的密钥时,它只需要从Django执行它
strlen从redis-cli上运行密钥我被告知长度约为2000万(这个太大了吗?)
我能做些什么让Redis更快地返回数据?如果这看起来不寻常,那可能是一些常见的陷阱?我已经看过这个关于延迟问题的页面了,但是我还没有真正跳出来.
我不确定在一个密钥中存储大量数据是否是一个非常糟糕的主意,或者我的配置是否有问题.任何帮助或建议或要阅读的东西将不胜感激.
我决定为我的Django应用程序而不是Apache/mod_wsgi试用NGINX/uWSGI.我尝试这个的原因是我听说NGINX/uWSGI使用更少的内存,在高流量情况下表现更好,NGINX非常适合提供静态内容.
但是我发现uWSGI使用的内存比Apache多近5倍.
ubuntu@domU-12-31-39-0A-9C-1A:~$ sudo ps_mem.py
Private + Shared = RAM used Program
184.0 KiB + 31.5 KiB = 215.5 KiB atd
220.0 KiB + 94.0 KiB = 314.0 KiB upstart-socket-bridge
260.0 KiB + 101.0 KiB = 361.0 KiB upstart-udev-bridge
340.0 KiB + 63.0 KiB = 403.0 KiB cron
392.0 KiB + 82.0 KiB = 474.0 KiB sudo
560.0 KiB + 14.0 KiB = 574.0 KiB dhclient3
612.0 KiB + 189.0 KiB = 801.0 KiB getty (6)
816.0 KiB + 35.5 …Run Code Online (Sandbox Code Playgroud)