zoukankan      html  css  js  c++  java
  • 转:SSDB:快速取代redis的nosql

    原文来自于:http://hao.jobbole.com/ssdb%EF%BC%9A%E5%BF%AB%E9%80%9F%E5%8F%96%E4%BB%A3redis%E7%9A%84nosql/

    SSDB是一个开源的高性能数据库服务器, 使用Google 的 LevelDB作为存储引擎, 大家有可能没听过leveldb的名字,但是淘宝的开源nosql tair大家应该有所耳闻吧,他也是基于leveldb做的开发。ssdb支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 是一个可以代替Redis的方案.

    SSDB 的主要特点:

    支持 zset, map 数据结构, 可替代 Redis

    特别适合存储大量集合数据

    使用 Google LevelDB 作为存储引擎

    支持主从同步, 多主同步

    客户端支持 PHP, C++, Python, Lua, Java, Ruby, nodejs, Go 等

    内存占用极少

    php客户端使用实例

    1
    2
    3
    4
    5
    6
    <?php
    require_once('SSDB.php');
    $ssdb new SimpleSSDB('127.0.0.1', 8888);
    $resp $ssdb->set('key''123');
    $resp $ssdb->get('key');
    echo $resp;// output: 123

    编译安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $ wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
    $ unzip master
    cd ssdb-master
    make
    $#optional, install ssdb in /usr/local/ssdb
    sudo make install
     
    # start master
    $ ./ssdb-server ssdb.conf
     
    # or start as daemon
    $ ./ssdb-server -d ssdb.conf
     
    # ssdb command line
    $ ./tools/ssdb-cli -p 8888
     
    # stop ssdb-server
    kill `cat ./var/ssdb.pid`

    性能

    一千个请求

    1
    2
    3
    4
    writeseq  :    0.546 ms/op      178.7 MB/s
    writerand :    0.519 ms/op      188.1 MB/s
    readseq   :    0.304 ms/op      321.6 MB/s
    readrand  :    0.310 ms/op      315.0 MB/s

    ssdb  对比 redis

    687474703a2f2f7777772e6964656177752e636f6d2f737364622f737364622d76732d72656469732e706e673f676974687562 (1)

    并发访问指标

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ========== set ==========
    qps: 44251, time: 0.226 s
    ========== get ==========
    qps: 55541, time: 0.180 s
    ========== del ==========
    qps: 46080, time: 0.217 s
    ========== hset ==========
    qps: 42338, time: 0.236 s
    ========== hget ==========
    qps: 55601, time: 0.180 s
    ========== hdel ==========
    qps: 46529, time: 0.215 s
    ========== zset ==========
    qps: 37381, time: 0.268 s
    ========== zget ==========
    qps: 41455, time: 0.241 s
    ========== zdel ==========
    qps: 38792, time: 0.258 s

    架构

    687474703a2f2f7777772e6964656177752e636f6d2f737364622f737364622e706e67

    github地址https://github.com/ideawu/ssdb

  • 相关阅读:
    vue中添加favicon.ico
    SEO 小技巧汇总
    vue中echarts随窗体变化
    vue加载Element ui地址省市区插件-- element-china-area-data
    Echarts 修改折线的颜色和折线的点的大小方法
    vue中添加swiper轮播插件
    Cannot find module 'object-keys' 的解决办法
    适用于所有页面的基础样式base.css
    git clone时的各种报错汇总
    css mix-blend-mode 颜色滤镜混合模式
  • 原文地址:https://www.cnblogs.com/guoyongrong/p/4015259.html
Copyright © 2011-2022 走看看