简介
Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大部分接口。
解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像redis一样,通过slaveof命令进行主从备份,支持全同步和部分同步,pika还可以用在twemproxy或者codis中来实现静态数据分片。
特点
- 容量大,支持百G数据量的存储
- 兼容redis,不用修改代码即可平滑从redis迁移到pika
- 支持主从(slaveof)
- 完善的运维命令
安装
github 的OpenAtomFoundation/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