NoSQL-Tidis支持分布式事务,兼容redis协议,使用tikv存储引擎,可水平扩展

项目repo地址 GitHub - yongman/tidis: Distributed transactional NoSQL database, Redis protocol compatible using tikv as backend

Tidis是分布式数据库,支持redis协议,多种数据结构支持,编写语言为golang。

Tidis工作角色类似于TIDB,提供协议转换和数据结构计算,底层使用TiKV分布式kv存储引擎,采用raft数据复制的数据高可用和两阶段提交实现的分布式事务。

特点:

  • redis协议兼容
  • 集群规模线性扩展
  • 计算与存储分离
  • 分布式事务支持
  • 数据安全,raft复制,数据保证不丢失

编译:

git clone https://github.com/yongman/tidis.git
make

运行tikv集群:

参考pingcap官方教程https://github.com/pingcap/docs/blob/master/op-guide/docker-deployment.md

运行tidis:

bin/bin/tidis-server -backend <pd address, ip:port>
redis-cli -p 5379
127.0.0.1:5379> get a
"1"
127.0.0.1:5379> lrange l 0 -1
1) "6"
2) "5"
3) "4"
127.0.0.1:5379> zadd zzz 1 1 2 2 3 3 4 4
(integer) 4
127.0.0.1:5379> zcard zzz
(integer) 4
127.0.0.1:5379> zincrby zzz 10 1
(integer) 11
127.0.0.1:5379> zrange zzz 0 -1 withscores
1) "2"
2) "2"
3) "3"
4) "3"
5) "4"
6) "4"
7) "1"
8) "11"

支持命令:

string

+-----------+----------------------------------+
|  command  |              format              |
+-----------+----------------------------------+
|    get    | get key                          |
+-----------+----------------------------------+
|    set    | set key value                    |
+-----------+----------------------------------+
|    del    | del key1 key2 ...                |
+-----------+----------------------------------+
|    mget   | mget key1 key2 ...               |
+-----------+----------------------------------+
|    mset   | mset key1 value1 key2 value2 ... |
+-----------+----------------------------------+
|    incr   | incr key                         |
+-----------+----------------------------------+
|   incrby  | incr key step                    |
+-----------+----------------------------------+
|    decr   | decr key                         |
+-----------+----------------------------------+
|   decrby  | decrby key step                  |
+-----------+--------------------

相关推荐

  1. MySQL索引、事务存储引擎

    2024-06-19 01:06:01       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-19 01:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-19 01:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-19 01:06:01       82 阅读
  4. Python语言-面向对象

    2024-06-19 01:06:01       91 阅读

热门阅读

  1. 华为OD机试 C++ - 评论转换输出

    2024-06-19 01:06:01       31 阅读
  2. 算法训练营day51

    2024-06-19 01:06:01       30 阅读
  3. 使用 Redis + Lua 实现分布式限流

    2024-06-19 01:06:01       38 阅读
  4. TTL 232难兄难弟对比

    2024-06-19 01:06:01       31 阅读
  5. Apache网页优化

    2024-06-19 01:06:01       29 阅读
  6. 网络流量轮廓

    2024-06-19 01:06:01       23 阅读