Rumah pangkalan data tutorial mysql Redis内存使用达到maxmemory设定值后玩家数据无法写入解决

Redis内存使用达到maxmemory设定值后玩家数据无法写入解决

Jun 07, 2016 pm 04:08 PM

先说说我们公司这边的redis应用场景。目前线上的游戏是采用redis作为MongoDB的前端缓存,存储一些玩家需要经常访问的数据,同时游

先说说我们公司这边的redis应用场景。目前线上的游戏是采用redis作为MongoDB的前端缓存,存储一些玩家需要经常访问的数据,同时游戏的运营公告信息以及BI相关采集数据也存放在redis中。在上周五,运营同事反映在某个合作方的游戏后台添加了游戏运营公告,但是进入游戏后却无法看到公告更新。同时,也有玩家反映游戏相关的活动奖励,游戏排行榜等信息没有更新。通过和开发同事沟通,初步判断是redis无法写入的问题。由于合作方之前一直没有提供redis服务器的访问权限,只有redis实例的权限。通过查看之前让合作方运维同事提供的redis配置参数,发现他们设置了maxmemory 2G 限定了单个redis实例最大使用内存为2G。我勒个去,这个坑可大了,由于之前对redis运维方面没有作深入研究,也没有仔细核对对方运维的redis配置参数。结果这次就坑大了。我们有接近10个区的数据都写入了这个实例中。再进入redis实例中,使用info 命令查看used_memory_human:1.98G 差不多达到了最大值,难怪更新了后台公告,游戏内却无法显示。然后联系对方运维调整maxmemory参数,一切恢复正常,运营那边又得制定玩家赔偿方案了。

redis的相关配置参考信息直接可以通过redis.conf文件查看,在这个文件中关于redis的常规配置已经解释得比较清楚了。这里主要讲解一下maxmemory相关的说明。

如果设定了maxmemory,使用redis的时候,redis的内存使用量不能超过设定的值,一旦redis的内存使用量达到了最大值,redis将会尝试按照选择的eviction policy(回收策略)移除相应的keys

如果redis不能根据回收策略移除keys,或者回收策略设置成noeviction,那么redis将对需要写操作的命令返回错误信息,如SET,LPUSH操作,对GET这样的只读操作会继续响应。

在redis.conf中给出了一个警告信息,如果一个设置了maxmemory的实例连接了从redis,,那么预留给redis使用的内存除了redis实例本身占用的内存外还要加上用于主从复制的输出缓冲区大小(the output buffers need to feed the slaves),这样,才不会触发移除keys的死循环,因为当内存达到最大内存限制后,会根据eviction policy移除相应的keys,这时,从redis也会同步移除keys操作,最终所有数据都被清空。

总之,一句话,对一个连接了从redis的redis实例设置maxmemory时,建议设置一个较高的值,使系统有多余的内存用于主从同步,当然,如果eviction policy设置成noevcition,则不需要这么设置。

Ubuntu 14.04下Redis安装及简单测试

Redis集群明细文档

Ubuntu 12.10下安装Redis(图文详解)+ Jedis连接Redis

Redis系列-安装部署维护篇

CentOS 6.3安装Redis

Redis安装部署学习笔记

Redis配置文件redis.conf 详解

Redis 的详细介绍:请点这里
Redis 的下载地址:请点这里

本文永久更新链接地址:

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Mar 18, 2025 pm 12:01 PM

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Bagaimana anda mengendalikan dataset besar di MySQL? Bagaimana anda mengendalikan dataset besar di MySQL? Mar 21, 2025 pm 12:15 PM

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Mar 21, 2025 pm 06:28 PM

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Mar 19, 2025 pm 03:52 PM

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Bagaimana anda membuat indeks pada lajur JSON? Bagaimana anda membuat indeks pada lajur JSON? Mar 21, 2025 pm 12:13 PM

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.

Bagaimana anda mewakili hubungan menggunakan kunci asing? Bagaimana anda mewakili hubungan menggunakan kunci asing? Mar 19, 2025 pm 03:48 PM

Artikel membincangkan menggunakan kunci asing untuk mewakili hubungan dalam pangkalan data, memberi tumpuan kepada amalan terbaik, integriti data, dan perangkap umum untuk dielakkan.

Terangkan keupayaan carian teks penuh InnoDB. Terangkan keupayaan carian teks penuh InnoDB. Apr 02, 2025 pm 06:09 PM

Keupayaan carian teks penuh InnoDB sangat kuat, yang dapat meningkatkan kecekapan pertanyaan pangkalan data dan keupayaan untuk memproses sejumlah besar data teks. 1) InnoDB melaksanakan carian teks penuh melalui pengindeksan terbalik, menyokong pertanyaan carian asas dan maju. 2) Gunakan perlawanan dan terhadap kata kunci untuk mencari, menyokong mod boolean dan carian frasa. 3) Kaedah pengoptimuman termasuk menggunakan teknologi segmentasi perkataan, membina semula indeks dan menyesuaikan saiz cache untuk meningkatkan prestasi dan ketepatan.

See all articles