forked from OpenAtomFoundation/pika
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
59d87c6
commit 86399a8
Showing
3 changed files
with
43 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,46 @@ | ||
# Pika | ||
## Introduction [中文] (https://github.com/baotiao/pika/blob/pika2.0/README_CN.md) | ||
[![Join the chat at https://gitter.im/baotiao/pika](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/baotiao/pika?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | ||
Pika is a database that has the same feature as redis. And Pika is compability | ||
with redis client. | ||
## 简介 [English](https://github.com/baotiao/pika/tree/pika2.0) | ||
Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大接口([兼容详情](https://github.com/baotiao/pika/wiki/pika支持的redis接口及兼容情况)),解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像redis一样,通过slaveof命令进行主从备份,支持全同步和部分同步 | ||
|
||
The reason why we develop Pika is to solve redis's memory limitation | ||
## 特点 | ||
* 容量大,支持百G数据量的存储 | ||
* 兼容redis,不用修改代码即可平滑从redis迁移到pika | ||
* 支持主从(slaveof) | ||
* 完善的[运维](https://github.com/baotiao/pika/wiki/pika的一些管理命令方式说明)命令 | ||
|
||
Pika used Nemo as storage engine, Nemo is developed base on rocksdb. | ||
## 编译安装 | ||
``` | ||
1. git submodule init && git submodule update | ||
2. make __REL=1 (编译依赖的某些库如snappy,bz2请自行提前安装) | ||
3. 将./lib/_VERSION_/lib目录移动到Makefile中自定义的rpath路径,pika启动时会从rpath加载相关so | ||
``` | ||
|
||
Nemo support multi data structure by using rocksdb's kv port. Such as list, | ||
hash, zset, set | ||
## 使用 | ||
``` | ||
./output/bin/pika -c ./conf/pika.conf | ||
``` | ||
|
||
Because rocksdb is using disk, so Nemo don't have capacity limitation. | ||
## 性能 | ||
``` | ||
服务端配置: | ||
处理器: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/baotiao/pika/wiki) | ||
|
||
The protocol used to contact with Pika is redis protocol, so you don't need to | ||
change your code to migrate to Pika | ||
|
||
### Thread Model | ||
|
||
Pika used multi threads model. The main thread accept the request and then send | ||
the request to the work threads. | ||
## 联系方式 | ||
[email protected] |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Pika | ||
## Introduction [中文] (https://github.com/baotiao/pika/blob/pika2.0/README_EN.md) | ||
Coming Soon... |