1 Star 0 Fork 33

geikiy / pika

forked from infra360 / pika 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Pika

简介 English

Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大接口(兼容详情),解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像redis一样,通过slaveof命令进行主从备份,支持全同步和部分同步

特点

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

编译安装

1.在编译机上安装snappy-devel bz2 libzip-dev libsnappy-dev libprotobuf-dev libevent-dev protobuf-compiler libgoogle-glog-dev protobuf-devel libevent-devel bzip2-devel l ibbz2-dev zlib-devel等。CentOS系统可以用yum安装,Ubuntu可以用apt-get安装。如是CentOS系统,执行如下命令:

    yum install snappy-devel bz2 libzip-dev libsnappy-dev libprotobuf-dev libevent-dev protobuf-compiler libgoogle-glog-dev protobuf-devel libevent-devel bzip2-    devel libbz2-dev zlib-devel

2.安装g++(若没有安装), 在CentOS上执行如下命令:

    yum install gcc-c++

3.把gcc版本临时切换到4.7(若已是,则忽略), 在CentOs上执行如下命令:

	a. sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
	b. yum install --nogpgcheck devtoolset-1.1
	c. scl enable devtoolset-1.1 bash

4.获取源代码

	git clone https://github.com/Qihoo360/pika.git && cd pika

5.获取依赖的第三方源代码

	a. git submodule init
	b. git submodule update

6.编译

	make __REL=1

若编译过程中,提示有依赖的库没有安装,则有提示安装后再重新编译

使用

	./output/bin/pika -c ./conf/pika.conf

若启动失败,把./lib/_VERSION/的内容拷贝到Makefile定义的rpath目录下,然后重新启动

	cp PIKA_SOURCE/lib/_VERSION/* RPATH

PIKA_SOURCE表示的pika的源代码根目录; _VERSION表示的是编译机的CenOS版本,如6.2, 5.4... RPATH在Makefile定义,表示的是程序运行的库预先加载路径

快速试用

如果想快速试用pika,目前提供了Centos5,Centos6的binary版本,可以在release页面看到,具体文件是pikaX.Y.Z_centosK_bin.tar.gz。

# 1. unzip file
tar zxf pikaX.Y.Z_centosK_bin.tar.gz
# 2. change working directory to output
#     note: we should in this directory, caz the RPATH is ./lib;
cd output
# 3. run pika:
./bin/pika -c conf/pika.conf

性能

服务端配置:
	处理器:24核 Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
	内存:165157944 kB
	操作系统:CentOS release 6.2 (Final)
	网卡:Intel Corporation I350 Gigabit Network Connection
客户端配置:
	同服务端
	
测试结果:
	pika配置18个worker,用40个客户端;
	1. 写性能测试:
		方法:客户端依次执行set、hset、lpush、zadd、sadd接口写入数据,每个数据结构10000个key;
		结果:qps 110000
	2. 读性能测试:
		方法:客户端一次执行get、hget、lindex、zscore、smembers,每个数据结构5000000个key;
		结果:qps 170000

文档

  1. [Wiki] (https://github.com/Qihoo360/pika/wiki)

联系方式

邮箱:songzhao@360.cn

QQ群:294254078

空文件

简介

Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大接口 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/geikiy/pika.git
git@gitee.com:geikiy/pika.git
geikiy
pika
pika
master

搜索帮助

14c37bed 8189591 565d56ea 8189591