• 2014-06-30

    使用 Twemproxy 来做 SSDB 负载均衡

    Views: 25067 | 2 Comments

    Twemproxy 是由 Twitter 公司开发的一个支持 Redis 协议的代理服务器, 可用于 Redis 集群的负载均衡, 高可用性等.

    SSDB 数据库也支持 Redis 协议, 所以可以直接使用 Twemproxy 而不需要做任何特殊改动, 如果你原来使用 Redis 现在切换到 SSDB 的话. 你不仅可以使用 Twemproxy + SSDB, 还可以使用 Twemproxy + SSDB + Redis.

    已有多个用户在线上业务中使用了 Twemproxy + SSDB 的架构.

    Twemproxy 项目地址: https://github.com/twitter/twemproxy

    Posted by ideawu at 2014-06-30 14:54:59 Tags: ,
  • 2014-06-08

    SSDB 支持位(BIT)操作

    Views: 16279 | 5 Comments

    最近, 知名的高性能 NoSQL 数据库 SSDB 新增了位(BIT)操作功能, 用户可以使用和 Redis 一样的 getbit, setbit, bitcount 等操作.

    本次 1.6.8.8 版本升级主要包括:

    • 新增位操作支持: getbit, setbit, bitcount
    • 新增字符串操作: strlen, substr
    • 完善过期时间操作接口, 新增: expire, ttl 命令
    Posted by ideawu at 2014-06-08 10:14:42 Tags:
  • 2014-02-10

    百行代码实现一个简单的Zset(SortedSet)

    Views: 13678 | 5 Comments

    排序的集合(Zset, SortedSet)是这样的一种集合数据结构, 集合中的元素不可重复, 而且元素之间根据每一个元素的权重来排序. Zset 是一种非常重要和应用广泛的数据结构, 是 Redis 数据库所支持的最核心一种. Zset 可用于排行榜, 好友列表, 去重, 历史记录等业务需求. 你可以理解一个 Zset 是一个下面结构的数据库表:

    item,   score
    UNIQUE, INDEX(int)
    

    Item 列被加了 UNIQUE 约束, 所以可以去重. Score 列是加了索引的整数列, 可用于排序.

    如果要在内存中实现一个 Zset 数据结构, 我们可以看 Redis 的源码.

    Continue reading »

    Posted by ideawu at 2014-02-10 20:28:11 Tags:
  • 2014-01-04

    从 Redis 迁移到 SSDB

    Views: 27633 | 10 Comments

    因为越来越多的用户希望从 Redis 迁移到 SSDB, 所以我提供了一个数据迁移的脚本, 用于方便地将 Redis 数据拷贝到 SSDB 中. 这个脚本是一个 PHP 脚本, 所以要求你的环境要安装 PHP, 如果你的应用原来就是 PHP 的, 那当然没有什么问题. 如果是其它语言的用户, 那么就需要安装 PHP 了.

    也许用 C 语言写一个迁移脚本会更好, 但同样需要引入 Redis 的库, 暂时还不想这么做.

    用法:

    php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port
    

    参数:

    • redis_host: Redis 运行所在的 IP 或者主机名
    • redis_host: Redis 监听的端口
    • redis_db: Redis 的 DB 编号
    • ssdb_host: SSDB 运行所在的 IP 或者主机名
    • ssdb_host: SSDB 监听的端口

    详细文档: http://www.ideawu.com/ssdb/docs/zh_cn/redis-to-ssdb.html

    Posted by ideawu at 2014-01-04 13:20:42 Tags: ,
  • 2013-12-31

    SSDB 支持 Redis 协议!

    Views: 28331 | 67 Comments

    终于, SSDB 支持 Redis 协议了! 这表示, 你可以用目前所有成熟的 Redis 客户端来连接 SSDB 服务器, 包括 hiredis, phpredis, redigo 等等.

    SSDB 支持 Redis 网络协议, 既是一个技术问题, 也有技术之外的考虑.

    首先, Redis 的网络协议对手工输入不够友好. 它采用的是前置长度(块数量)信息的报文格式, 这种数据格式是比较原始的 Linux 配置文件的格式. 相比较, SSDB 采用的是类似 HTTP 报头与报体分隔的方式 - 空白行, 这种方式在输入的时候十分自然, 按两次回车表示请求结束, 并且和响应的输出也能在视觉上分开.

    Continue reading »

    Posted by ideawu at 2013-12-31 00:37:38 Tags:
  • 2013-12-19

    SSDB 支持 TTL 过期机制

    Views: 30392 | 22 Comments

    从 SSDB 1.6.7 版本开始, 增加了 Key 过期功能, 可以支持 Key 到期自动删除, 这样, SSDB 就可以作为一个持久化的缓存服务来使用. 该功能和 Redis 的 ttl/expire 一样, 使用方法是:

    $ssdb->setx('key', 'value', 60);
    

    这段代码表示, 设置 key=value, 同时到 60 秒后, 自动删除 key. 需要注意的是, TTL 只支持 KV 数据结构, hash(map) 和 zset 不支持.

    下载 SSDB NoSQL 数据库源码: https://github.com/ideawu/ssdb

    Posted by ideawu at 2013-12-19 13:28:40 Tags: , ,
|<<<123>>>| 1/3 Pages, 17 Results.