简介

Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大部分接口

解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像redis一样,通过slaveof命令进行主从备份,支持全同步和部分同步,pika还可以用在twemproxy或者codis中来实现静态数据分片。

特点

  • 容量大,支持百G数据量的存储
  • 兼容redis,不用修改代码即可平滑从redis迁移到pika
  • 支持主从(slaveof)
  • 完善的运维命令

安装

githubOpenAtomFoundation/pika仓库上提供了二进制文件,直接下载解压就可以使用了。

tar jxvf  pika-linux-x86_64-v3.3.6.tar.bz2 -C /opt/
mv /opt/output /opt/pika

服务管理

如果使用supervisord管理可以直接创建一个管理文件

vim /etc/supervisord.d/pika.ini
[program:pika]
command=/opt/pika/bin/pika -c conf/pika.conf              ; the program (relative uses PATH, can take args)
directory=/opt/pika                ; directory to cwd to before exec (def no cwd)
redirect_stderr=true          ; redirect proc stderr to stdout (default false)
stdout_logfile=/opt/pika/supervisor.log        ; stdout log path, NONE for none; default AUTO
stdout_logfile_maxbytes=50MB   ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
supervisorctl reread
supervisorctl update pika

如果使用systemd管理,就创建一个service文件进行管理

vim /usr/lib/systemd/system/pika.service
[Unit]
Description=pika
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/pika
ExecStart=/opt/pika/bin/pika -c /opt/pika/conf/pika.conf

[Install]
WantedBy=multi-user.target
systemctl enable pika
systemctl start pika