Category Archives: Redis

Redis is an open source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.

Jenkins: Redis deployment, and Helm subchart values

1 November 2020
 

 The task is to create a Jenkins job to deploy Redis to Dev/Stage/Prod Kubernetes clusters. In the Redis: running Master-Slave replication in Kubernetes we did it manually to see how it’s working, now it’s time to automate it. The main question is how to pass parameters for different environments during the deployment? I’d like to… Read More »

Redis: running Master-Slave replication in Kubernetes

29 September 2020
 

 The task is to spin up a Redis instance in a Kubernetes cluster. Will use the Master-Slave replication setup with Sentinels for monitoring and failover operations. Check the Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel post for more details. Redis cluster vs Redis replication See Redis: replication, part 1 – an overview.… Read More »

Redis: “psync scheduled to be closed ASAP for overcoming of output buffer limits” and the client-output-buffer-limit

26 February 2020
 

 We have a Redis-cluster with Master-slave replication and Sentinel, see the Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel, Redis: fork – Cannot allocate memory, Linux, virtual memory and vm.overcommit_memory, and Redis: main configuration parameters and performance tuning overview posts. The system worked great until we started using it much more actively. Redis… Read More »

Redis: main configuration parameters and performance tuning overview

10 September 2019
 

 Currently configuring Redis server as our backend caching service and during that wrote this post with some things to pay attention at in Redis config file. Shortly enough but with links to other posts or documentation. Let’s begin with the redis-benchmark utility. Will be installed alongside with Redis service, so can be used right after… Read More »

Redis: fork – Cannot allocate memory, Linux, virtual memory and vm.overcommit_memory

28 August 2019
 

 Currently, I’m configuring a Redis as a caching service for our application and during that, I faced with the question: do I need to set vm.overcommit_memory to the value 1, i.e. disable it – or not? The question is quite old for me, see The story, but only now I found time to get to… Read More »

Redis: replication, part 4 – writing an Ansible role fore the Master-Slave replication with Redis Sentinel provisioning

15 April 2019
 

 The next post from the Redis replication series. Previous parts: Redis: replication, part 1 – an overview. Replication vs Sharding. Sentinel vs Cluster. Redis topology. Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel Redis: replication, part 3 – redis-py and work with Redis Sentinel from Python The task now is to write an… Read More »

Redis: Sentinel – bind 0.0.0.0, the localhost issue and the announce-ip option

10 April 2019
 

 Originally, in a Sentinel’s configs, I have used the bind 0.0.0.0 to make them accessible from external hosts. Because of this when I started rolling out this setup on a real environment faced with an issue when Sentinels could not determine a Master host and other Sentinel hosts. In this post – such an issue… Read More »

Redis: replication, part 3 – redis-py and work with Redis Sentinel from Python

1 April 2019
 

 Still on the subject about Redis replication and Redis Sentinel – a couple of examples using the redis-py library for Python. Previous series posts: Redis: replication, part 1 – an overview. Replication vs Sharding. Sentinel vs Cluster. Redis topology Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel All Redis clients for Python can be… Read More »

Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel

29 March 2019
 

 The first part – Redis: replication, part 1 – overview. Replication vs Sharding. Sentinel vs Cluster. Redis topology. The next part – Redis: replication, part 3 redis-py and work with Redis Sentinel from Python. The whole story was started when we decided to get rid of memcached. Currently, we have memcahced and Redis running on… Read More »