Maintenance
Redis Maintenance Backup Strategies
bash
# RDB backup
redis-cli BGSAVE
redis-cli SAVE
# Copy RDB file
cp /var/lib/redis/dump.rdb /backup/redis/dump-$(date +%Y%m%d).rdb
# AOF backup
redis-cli BGREWRITEAOF
cp /var/lib/redis/appendonly.aof /backup/redis/appendonly-$(date +%Y%m%d).aof
# Automated backup script
#!/bin/bash
BACKUP_DIR="/backup/redis"
DATE=$(date +%Y%m%d_%H%M%S)
# Create backup directory
mkdir -p $BACKUP_DIR
# Trigger background save
redis-cli BGSAVE
# Wait for save to complete
while [ $(redis-cli LASTSAVE) -eq $(redis-cli LASTSAVE) ]; do
sleep 1
done
# Copy RDB file
cp /var/lib/redis/dump.rdb $BACKUP_DIR/dump-$DATE.rdb
# Compress backup
gzip $BACKUP_DIR/dump-$DATE.rdb
# Remove old backups (keep last 7 days)
find $BACKUP_DIR -name "dump-*.rdb.gz" -mtime +7 -delete
Restore Operations
bash
# Restore from RDB
redis-cli SHUTDOWN
cp /backup/redis/dump-20240101.rdb /var/lib/redis/dump.rdb
redis-server /etc/redis/redis.conf
# Restore from AOF
redis-cli SHUTDOWN
cp /backup/redis/appendonly-20240101.aof /var/lib/redis/appendonly.aof
redis-server /etc/redis/redis.conf
Memory Management
bash
# Check memory usage
redis-cli INFO memory
# Analyze memory usage by key type
redis-cli --bigkeys
# Set memory policies
redis-cli CONFIG SET maxmemory 1gb
redis-cli CONFIG SET maxmemory-policy allkeys-lru
# Manual memory cleanup
redis-cli FLUSHDB
redis-cli FLUSHALL
Key Management
bash
# Find keys by pattern
redis-cli KEYS pattern*
# Scan keys (production safe)
redis-cli SCAN 0 MATCH pattern* COUNT 100
# Delete keys by pattern
redis-cli --scan --pattern "temp:*" | xargs redis-cli DEL
# Set TTL for keys
redis-cli EXPIRE key_name 3600
# Check key TTL
redis-cli TTL key_name
Replication Maintenance
bash
# Check replication status
redis-cli INFO replication
# Manually sync slave
redis-cli SYNC
# Promote slave to master
redis-cli SLAVEOF NO ONE
# Configure new slave
redis-cli SLAVEOF master_host master_port