Skip to content

Releases: OpenAtomFoundation/pikiwidb

Release v3.5.3-alpha

07 Feb 09:42
f61f49a
Compare
Choose a tag to compare

🚀 New Features:

  • feat:distable compaction during shutdown (#2345)
  • feat: cache metrics (#2318)
  • feat: separation of fast and slow commands (#2162)
  • feat: pika support acl (#2013)
  • feat: update benchmark_client to support more api commands (#2222)
  • feat: Dynamically set disable_auto_compaction (#2257)
  • feat: add big key tool (#2195)
  • feat: Stream base commands (#1955)
  • feat: Exporter for Proxy (#2199)
  • feat: add lastsave cmd (#2167)

🚀 Enhancement

  • feat: recover it when the goroutine caused some panic (#2349)
  • feat: move streams implementation to storage layer. (#2242)
  • feat:check repl state to response immediately if full sync not finished (#2197)

🐛 Fixes:

  • fix: update 'info replication' command output format about db which add a colon #2375 (#2384)
  • fix: keyspace's result wrong (#2369)
  • fix: fix delete dump file while still in use (#2377)
  • fix: rename zset_cache_start_pos -> zset_cache_start_direction (#2358)
  • fix: handle rsync response error in slave side (#2319)
  • fix: delete invalid primary/secondary synchronization code (#2334)
  • fix:bitmap cache (#2253)
  • fix: Redis Keys / Redis Memory not shown in topom dashboard (#2337)
  • fix: fix version compare error in ZSetsScoreKeyComparatorImpl (#2339)
  • fix: command CONFIG SET * reply array length error(#2320) (#2336)
  • fix: delete slot (#2251)
  • fix: duplicate closing files(#2304) (#2311)
  • fix: read acl file crash on Mac OS (#2310)
  • fix: without close file(#2301) (#2314)
  • fix: bug with repeat key (#2306)
  • fix: compilation fails (#2317)
  • fix: If the localFileMap is empty, do not continue execution(#2303) (#2312)
  • fix: RsyncClient::ThreadMain not close file(#2302) (#2313)
  • fix: if resp->code() != RsyncService::kOk should set SyncSlaveSlot repl_state_ to kError(#2299) (#2315)
  • fix: without errno in log or status when open and read file failed(#2287, #2292) (#2307)
  • fix: return wrong response code when DBSync request SyncMasterSlot not exist(#2290, #2293) (#2308)
  • fix :fix acl complie (#2294)
  • fix: delete binglog dead code (#2274)
  • fix: upgrade image tags and etcd volumeClaimTemplates (#2281)
  • fix: incorrect initialization sequence about pika role and cmdstat_map(#2235) (#2278)
  • fix: gcc version must be greater than or equal to 9 (#2275) (#2276)
  • fix: segment fault when dump dir is empty (#2265)
  • fix: cache layer crash and data confusion (#2217)
  • fix:fix bug that the slave stuck while run flushdb (#2249)
  • fix:cache bug && add cache test (#2225)
  • fix: delete actions cache (#2236)
  • fix: network statistic input bytes is not right in some case(#2223) (#2224) (#2234)
  • fix:fix Zpopmaxbugs return value not same as redis (#2188)
  • fix: network statistic input bytes is not right in some case(#2223) (#2224)
  • fix:fix txn go test error (#2219)
  • fix: fix configuration loading error (#2218)
  • fix: Slow log timestamp format is inconsistent with Redis (#2212)
  • fix:build time (#2211)

📚 Documentation:

  • docs: change en readme (#2229)
  • docs: refine chinese readme (#2116)

🧹 Updates:

  • fix: update 'info replication' command output format about db which add a colon #2375 (#2384)
  • feat: update benchmark_client to support more api commands (#2222)
  • fix:cache bug && add cache test (#2225)
  • fix:fix txn go test error (#2219)

Version tags:

  • https://github.com/OpenAtomFoundation/pika/releases/tag/v3.5.3-alpha

📒 Documentation: PikiwiDB

Full Changelog: v3.5.2...v3.5.3-alpha

Thanks to @578223592, @AlexStocks, @ForestLH, @KKorpse, @MalikHou, @Mixficsol, @baerwang, @chejinge, @chenbt-hz, @chengyu-l, @dingxiaoshuai123, @gxlct008, @hero-heng, @jettcc, @lqxhub, @panlei-coder, @sjcsjc123, @tedli, @wanghenshui and @wangshao1 for making this release possible.

v3.5.2

15 Dec 01:51
af7a3d6
Compare
Choose a tag to compare

🚀 New Features:

🐛 Fixes:

  • Fixed coredump issue when using SETRANGE command in Pika. #2125 @chejinge

  • Fixed full replication issue caused by deleting Clearreplicationid from binlog. #2136 @Mixficsol

  • Modified lock granularity to improve binlog writing performance in Pika. #2129 @wangshao1

  • Added redis-copy traffic replication tool. #2044 @Mixficsol

  • Fixed potential data overflow issue in complex data types member variables. #2016 @u6th9d

  • Fixed incorrect return value issue in decr command. #2092 @dingxiaoshuai123

  • Fixed issue where SETRANGE and SETBIT commands did not retain the original key's expiration time. #2095 @u6th9d

📒 Documentation: PikiwiDB

Full Changelog: v3.5.1...v3.5.2

Thanks to @ForestLH, @chejinge, @dingxiaoshuai123,@Mixficsol, @Ruipu-Chang, @Summer-0827, @baerwang, @callme-taota, @hero-heng, @machinly, @u6th9d, @wanghenshui and @wangshao1 for making this release possible.

v3.5.2-alpha

01 Dec 10:34
Compare
Choose a tag to compare

v3.5.2

New features

bugfix

  • Fixed coredump issue when using SETRANGE command in Pika. #2125 @chejinge

  • Fixed full replication issue caused by deleting Clearreplicationid from binlog. #2136 @Mixficsol

  • Modified lock granularity to improve binlog writing performance in Pika. #2129 @wangshao1

  • Added redis-copy traffic replication tool. #2044 @Mixficsol

  • Fixed potential data overflow issue in complex data types member variables. #2016 @u6th9d

  • Fixed incorrect return value issue in decr command. #2092 @dingxiaoshuai123

  • Fixed issue where SETRANGE and SETBIT commands did not retain the original key's expiration time. #2095 @u6th9d

v3.5.1

28 Sep 02:45
e564344
Compare
Choose a tag to compare

New features

  • Slow log Adds statistics on queue waiting time #1997 @wangshao1

  • ReplicationID is used for primary/secondary replication #1951 @Mixficsol

  • WAL uses the disablewal command to support dynamic shutdown #2015 @Mixficsol

  • The number of threads flushed and the number of threads compaction dynamically adjust into one #2014 @Tianpingan

  • The RocksDB version was upgraded to v8.3.3 #1999 @dingxiaoshuai123

  • Added documentation for configuring Pika in macOS environment #2003 @klboke

  • Added the ability to periodically print the length of the work queue to quickly locate problems when the queue is blocked #1978 @Tianpingan

  • Added an indicator to detect the entire cluster using a pika_exporter #1953 @chenbt-hz

  • Realize automatic registration of Pika service on K8s environment, and automatically register at startup, so as to realize self-organization of cluster #1931 @machinly

bugfix

  • Reduces unnecessary log printing by the exporter, reducing CPU utilization #1945 @Mixficsol

  • The sentinel mechanism has been upgraded to carry out logical deletion of primary nodes that fall offline #1949 @Mixficsol

  • Adjust the rate_limit parameter to fix the situation that RPS is 0 during pressure measurement #2009 @chejinge

  • Fixed the logical determination of empty path when traversing data files in INFODATA command #1996 @Mixficsol

  • Improved the description of some missing parts of the document #1962 @baerwang

  • Use make-j to improve build speed #1933 @xiezheng-XD

  • Fixed an issue where large burrs appeared on the Codis line #2016 @chejinge

  • Fixed an issue where tools could not be compiled in macOS #2011 @A2ureStone

v3.5.0

24 Aug 04:01
6cb413c
Compare
Choose a tag to compare

Major features

1. Removal of Rsync

  • In v3.5.0, we removed Rsync and replaced it with a self-developed full synchronization scheme, which has the features of breakpoint continuation, rate limit, file inspection and so on

2. Compatibility with More Redis Commands

  • More Redis commands are compatible and supported in v3.5.0.

3. RocksDB Version Upgrade and Tiered Compression

  • In v3.5.0, we upgraded RocksDB to version v8.1.1 and implemented tiered compression.

4. Support for BlobDB:

  • In v3.5.0, we added support for BlobDB KV separation.

5. Cluster Mode based on Codis

  • In v3.5.0, we introduced the Codis Cluster Mode and added support for the command to migrate Codis slots.

6.Observability

  • In v3.5.0, we introduced the pika_exporter tool to monitor the observability metrics of Pika. Subsequently, we added several new metrics to enhance Pika's observability.

7.Cloud-Native Deployment

  • In v3.5.0, we introduced an MVP version of pika-operator, which focuses on enabling the quick deployment of a single-instance Pika service on Kubernetes.

8.Cross-platform compilation

  • In v3.5.0, Pika supports cross-platform compilation and can be compiled and used on MacOS, CentOS, and Ubuntu platforms.

Features

  • Added automatic rate limiting for "compact" operation to reduce its impact on the latency of upper-layer data read and write operations. #1374 @wanghenshui
  • Introduced the "aof_to_pika" toolset for data conversion. #1340 @Axlgrep
  • Implemented the printing of the Pika logo. #1787 @Mixficsol
  • Optimized certain code portions using clang-tidy. #1701 #1730 @longfar-ncy
  • Refactored C++98-style code to C++11-style following C++ coding guidelines. #1684 @chejinge
  • Introduced support for the "snappy" library. #1216 @kernelai
  • Added CLA (Contributor License Agreement) file. #1260 @kernelai
  • Extended memory-related configuration options to support units in K, M, or G. #1307 @lqxhub
  • Added libunwind as a dependency library. #1316 @kernelai
  • Included a compilation script for Pika. #1356 @lqxhub
  • Added "rate-limiter-bandwidth" option to pika.conf for rate limiting. #1272 @wanghenshui
  • Enhanced the "info" command by adding "redis_version" information. #1403 @wanghenshui
  • Provided CMake support for aof_to_pika tool. #1436 @A2ureStone
  • Introduced clang-formatted shell scripts. #1448 @lqxhub
  • Added a configuration option to disable the compilation of command docs. #1642 @tedli
  • Provided CMake support for benchmark_client, binlog_sender, manifest_generator, rdb_to_pika, txt_to_pika, pika_to_txt, and pika_port. #1451 @A2ureStone

Bugfixes

  • Fixed coredump caused by incompatible CPU instruction sets. #1812 @chejinge
  • Fixed abnormal exit issue in the Monitor command. #1804 @Mixficsol
  • Fixed incomplete configuration overwrite. #1800 @yaoyinnan
  • Fixed CTest tests on MacOS. #1789 #1721 #1782 @tedli @Mixficsol
  • Fixed loading master-run-id from the configuration file during process startup, which caused the need for re-syncing historical data on slave nodes. #1778 @luky116
  • Fixed format error in overrides option during Pika single test. #1768 @A2ureStone
  • Fixed command to retrieve INFO xxx (INFO data, INFO stats) by index instead of using INFO ALL. #1762 @yaoyinnan
  • Improved instantaneous_metric to collect network metrics every 5 seconds. #1757 @yaoyinnan
  • Improved config get to return complete parameters. #1593 @luky116
  • Fixed possible empty slot issue. #1712 @Mixficsol
  • Fixed some bugs related to version selection in the makefile. #1714 @luky116
  • Fixed bug in executing HSET for the first time. #1710 @Mixficsol
  • Fixed the issue of binlog offset on slave nodes being greater than master nodes, causing TrySync failure. #1681 @luky116
  • Fixed a NOAUTH error test, where any command would give an error when AUTH is required. #1680 @hqh-cell
  • Fixed the issue of binlog files not being automatically cleaned up when exceeding the limit. #1679 @luky116
  • Fixed issues with LPUSHX and RPUSHX multi-element insertion. #1525 @ForestLH
  • Fixed error in executing the BGSAVE command. #1523 @Brokenice0415
  • Fixed the use of io_uring when closing RocksDB to prevent errors during linking. #1489 @lqxhub
  • Fixed MacOS environment Pika compilation warnings. #1740 @Mixficsol
  • Fixed error message for unsupported commands, adapted for go-redis. #1244 @wgqi1126
  • Fixed a protobuf3 compilation warning. #1267 @wanghenshui
  • Fixed bugs in EXISTS and DEL commands in sharding mode. #1277 @wanghenshui
  • Fixed rsync auth bug. #1278 @wanghenshui
  • Fixed rewrite result format to comply with Redis standards. #1339 @lqxhub
  • Fixed SET NX/XX return values to match Redis behavior. #1343 @gtygo
  • Fixed missing pika_master_link_status and pika_slave_priority indicators in exporter. #1726 @Mixficsol
  • Fixed potential coredump when Pika uses too many file descriptors, preventing it from exceeding the ulimit. #1346 @kernelai
  • Fixed initialization of group members in classes to prevent unexpected closure of the connection between redis-cli and Pika. #1390 @AlexStocks
  • Fixed delete_dir snprintf bug. #1400 @wanghenshui
  • Fixed thread num limitation. #1401 @wanghenshui
  • Fixed redis-benchmark to get config from Pika. #1402 @wanghenshui
  • Fixed initialization of class members. #1406 @AlexStocks
  • Fixed issues in Pika's master-slave synchronization tests on MacOS. #1776 @Mixficsol
  • Fixed NULL to nullptr. [#...
Read more

v3.5.0-alpha

05 Aug 02:31
b3c5268
Compare
Choose a tag to compare

Major features

1. Removal of Rsync

  • In v3.5.0-alpha, we removed Rsync and replaced it with a self-developed full synchronization scheme, which has the features of breakpoint continuation, rate limit, file inspection and so on

2. Compatibility with More Redis Commands

  • More Redis commands are compatible and supported in v3.5.0-alpha.

3. RocksDB Version Upgrade and Tiered Compression

  • In v3.5.0-alpha, we upgraded RocksDB to version v8.1.1 and implemented tiered compression.

4. Support for BlobDB:

  • In v3.5.0-alpha, we added support for BlobDB KV separation.

5. Cluster Mode based on Codis

  • In v3.5.0-alpha, we introduced the Codis Cluster Mode and added support for the command to migrate Codis slots.

6.Observability

  • In v3.5.0-alpha, we introduced the pika_exporter tool to monitor the observability metrics of Pika. Subsequently, we added several new metrics to enhance Pika's observability.

7.Cloud-Native Deployment

  • In v3.5.0-alpha, we introduced an MVP version of pika-operator, which focuses on enabling the quick deployment of a single-instance Pika service on Kubernetes.

8.Cross-platform compilation

  • In v3.5.0-alpha, Pika supports cross-platform compilation and can be compiled and used on MacOS, CentOS, and Ubuntu platforms.

Features

  • Added automatic rate limiting for "compact" operation to reduce its impact on the latency of upper-layer data read and write operations. #1374 @wanghenshui
  • Introduced the "aof_to_pika" toolset for data conversion. #1340 @Axlgrep
  • Implemented the printing of the Pika logo. #1787 @Mixficsol
  • Optimized certain code portions using clang-tidy. #1701 #1730 @longfar-ncy
  • Refactored C++98-style code to C++11-style following C++ coding guidelines. #1684 @chejinge
  • Introduced support for the "snappy" library. #1216 @kernelai
  • Added CLA (Contributor License Agreement) file. #1260 @kernelai
  • Extended memory-related configuration options to support units in K, M, or G. #1307 @lqxhub
  • Added libunwind as a dependency library. #1316 @kernelai
  • Included a compilation script for Pika. #1356 @lqxhub
  • Added "rate-limiter-bandwidth" option to pika.conf for rate limiting. #1272 @wanghenshui
  • Enhanced the "info" command by adding "redis_version" information. #1403 @wanghenshui
  • Provided CMake support for aof_to_pika tool. #1436 @A2ureStone
  • Introduced clang-formatted shell scripts. #1448 @lqxhub
  • Added a configuration option to disable the compilation of command docs. #1642 @tedli
  • Provided CMake support for benchmark_client, binlog_sender, manifest_generator, rdb_to_pika, txt_to_pika, pika_to_txt, and pika_port. #1451 @A2ureStone

Bugfixes

  • Fixed coredump caused by incompatible CPU instruction sets. #1812 @chejinge
  • Fixed abnormal exit issue in the Monitor command. #1804 @Mixficsol
  • Fixed incomplete configuration overwrite. #1800 @yaoyinnan
  • Fixed CTest tests on MacOS. #1789 #1721 #1782 @tedli @Mixficsol
  • Fixed loading master-run-id from the configuration file during process startup, which caused the need for re-syncing historical data on slave nodes. #1778 @luky116
  • Fixed format error in overrides option during Pika single test. #1768 @A2ureStone
  • Fixed command to retrieve INFO xxx (INFO data, INFO stats) by index instead of using INFO ALL. #1762 @yaoyinnan
  • Improved instantaneous_metric to collect network metrics every 5 seconds. #1757 @yaoyinnan
  • Improved config get to return complete parameters. #1593 @luky116
  • Fixed possible empty slot issue. #1712 @Mixficsol
  • Fixed some bugs related to version selection in the makefile. #1714 @luky116
  • Fixed bug in executing HSET for the first time. #1710 @Mixficsol
  • Fixed the issue of binlog offset on slave nodes being greater than master nodes, causing TrySync failure. #1681 @luky116
  • Fixed a NOAUTH error test, where any command would give an error when AUTH is required. #1680 @hqh-cell
  • Fixed the issue of binlog files not being automatically cleaned up when exceeding the limit. #1679 @luky116
  • Fixed issues with LPUSHX and RPUSHX multi-element insertion. #1525 @ForestLH
  • Fixed error in executing the BGSAVE command. #1523 @Brokenice0415
  • Fixed the use of io_uring when closing RocksDB to prevent errors during linking. #1489 @lqxhub
  • Fixed MacOS environment Pika compilation warnings. #1740 @Mixficsol
  • Fixed error message for unsupported commands, adapted for go-redis. #1244 @wgqi1126
  • Fixed a protobuf3 compilation warning. #1267 @wanghenshui
  • Fixed bugs in EXISTS and DEL commands in sharding mode. #1277 @wanghenshui
  • Fixed rsync auth bug. #1278 @wanghenshui
  • Fixed rewrite result format to comply with Redis standards. #1339 @lqxhub
  • Fixed SET NX/XX return values to match Redis behavior. #1343 @gtygo
  • Fixed missing pika_master_link_status and pika_slave_priority indicators in exporter. #1726 @Mixficsol
  • Fixed potential coredump when Pika uses too many file descriptors, preventing it from exceeding the ulimit. #1346 @kernelai
  • Fixed initialization of group members in classes to prevent unexpected closure of the connection between redis-cli and Pika. #1390 @AlexStocks
  • Fixed delete_dir snprintf bug. #1400 @wanghenshui
  • Fixed thread num limitation. #1401 @wanghenshui
  • Fixed redis-benchmark to get config from Pika. #1402 @wanghenshui
  • Fixed initialization of class members. #1406 @AlexStocks
  • Fixed issues in Pika's master-slave synchronization tests on MacOS. #1776 [@Mixficsol](https://gi...
Read more

v3.4.1[abandoned]

07 May 10:46
Compare
Choose a tag to compare

This version has many bugs and is unstable, we have abandoned it. Use v3.3.6 instead.

新增功能:

  • 支持quit命令。
  • 支持gcc 9.4.0 编译。
  • 多阶段编译减少docker image size。
  • release包对zlib、lz4、zstd压缩算法支持。

bugfix

  • 修复线程池惊群问题。
  • 修复pubsub 出现coredump的问题。
  • 修复max-write-buffer-num 无法静态配置的问题。
  • 修复max-cache-statistic-keys 配置项重复的问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消info log命令,info log 的binlog offset移至info replication,info log 的binlog size移至info data
  • 分片模式下取消info replication命令,用pkcluster info slot替代
  • 由于redis-cli 对于数据展示格式限制,对于pkcluster info slot的数据展示格式不够人性化。可以自行修改redis-cli代码 redis-cli modification
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • pika3.1.0版本之后不再支持双主
  • pika3.1.0版本使用pb协议进行内部通信,不能直接和之前的版本建立主从关系,由低版本升级到pika3.1.0可以参照wiki进行升级(如何升级到Pika3.0如何升级到Pika3.1)
  • 由于zset精度的优化(自pika3.0.0起zset精度已与redis一致),如果你在低版本的pika(<3.0.0)中使用了geo功能,请在将其升级到pika3.0时不要直接使用nemo_to_blackwidow工具进行geo相关zset(其它结构的数据不受影响)数据的迁移,否则由于精度差异问题,迁移后的geo数据将损坏,建议使用客户端将geo相关zset数据重新导入。

v3.4.0[abandoned]

01 Dec 03:51
Compare
Choose a tag to compare

This version has many bugs and is unstable, we have abandoned it. Use v3.3.6 instead.

注意:

这是个实验性质的版本,360内部没有在生产环境部署。请优先使用3.3.6版本。

新增功能:

  • sharding模式下内置pika proxy组件,自动代理客户端请求到响应slot节点。
  • proxy支持根据业务压力配置后端连接数。
  • proxy 支持后端连接自动保活机制。
  • proxy 支持slot 共享后端连接。
  • proxy 支持客户端pipline功能。
  • proxy 支持slot 主从切换,slot 数据迁移功能。
  • proxy 支持hash tag功能。用户可以通过hash tag 把key存储到指定的slot。
  • pika 支持protocol buf 管理接口。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消info log命令,info log 的binlog offset移至info replication,info log 的binlog size移至info data
  • 分片模式下取消info replication命令,用pkcluster info slot替代
  • 由于redis-cli 对于数据展示格式限制,对于pkcluster info slot的数据展示格式不够人性化。可以自行修改redis-cli代码 redis-cli modification
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • pika3.1.0版本之后不再支持双主
  • pika3.1.0版本使用pb协议进行内部通信,不能直接和之前的版本建立主从关系,由低版本升级到pika3.1.0可以参照wiki进行升级(如何升级到Pika3.0如何升级到Pika3.1)
  • 由于zset精度的优化(自pika3.0.0起zset精度已与redis一致),如果你在低版本的pika(<3.0.0)中使用了geo功能,请在将其升级到pika3.0时不要直接使用nemo_to_blackwidow工具进行geo相关zset(其它结构的数据不受影响)数据的迁移,否则由于精度差异问题,迁移后的geo数据将损坏,建议使用客户端将geo相关zset数据重新导入。
  • 3.3.0 以后的版本包含了日志复制一致性的功能,建议使用该功能的用户使用版本3.3.6。
  • 为了保证服务的稳定,建议不使用日志复制一致性的用户升级至3.2.9。
  • 目前停止对3.0版本的维护

v3.3.6

23 Oct 08:37
Compare
Choose a tag to compare

Do not use the sharding mode. We have abandoned this mode.

新增功能:

  • 增加在分片模式下计算slot时对hash tag的支持。
  • 增加在sharding模式下支持pkscanrange 、pkrscanrange、lpushrpop命令。客户端需要指定hash tag来保证所有操作在同一个slot上。
  • 增加rocksdb memtable 配置预分配内存大小的接口。

Bug修复:

  • 修复分片模式下,配置slot num非2的幂次数目时,计算slot hash值与codis不一致的问题。
  • 修复哨兵使用pubsub命令可能导致coredump的问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消info log命令,info log 的binlog offset移至info replication,info log 的binlog size移至info data
  • 分片模式下取消info replication命令,用pkcluster info slot替代
  • 由于redis-cli 对于数据展示格式限制,对于pkcluster info slot的数据展示格式不够人性化。可以自行修改redis-cli代码 redis-cli modification
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • pika3.1.0版本之后不再支持双主
  • pika3.1.0版本使用pb协议进行内部通信,不能直接和之前的版本建立主从关系,由低版本升级到pika3.1.0可以参照wiki进行升级(如何升级到Pika3.0如何升级到Pika3.1)
  • 由于zset精度的优化(自pika3.0.0起zset精度已与redis一致),如果你在低版本的pika(<3.0.0)中使用了geo功能,请在将其升级到pika3.0时不要直接使用nemo_to_blackwidow工具进行geo相关zset(其它结构的数据不受影响)数据的迁移,否则由于精度差异问题,迁移后的geo数据将损坏,建议使用客户端将geo相关zset数据重新导入。
  • 3.3.0 以后的版本包含了日志复制一致性的功能,建议使用该功能的用户使用本版本。
  • 为了保证服务的稳定,建议不使用日志复制一致性的用户升级至3.2.9。
  • 目前停止对3.0版本的维护

V3.3.5

07 Jul 08:35
Compare
Choose a tag to compare

性能优化:

  • 针对zcout/zrangebyscore/zremrangebyscore/zrank命令性能优化。感谢@yurongliao的贡献

Bug修复:

  • 修复pink中holy thread错误关闭文件描述符导致rocksdb中sst文件 bad file description。建议3.2以后的版本升级到本版本。感谢@su47flying的贡献。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消info log命令,info log 的binlog offset移至info replication,info log 的binlog size移至info data
  • 分片模式下取消info replication命令,用pkcluster info slot替代
  • 由于redis-cli 对于数据展示格式限制,对于pkcluster info slot的数据展示格式不够人性化。可以自行修改redis-cli代码 redis-cli modification
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • pika3.1.0版本之后不再支持双主
  • pika3.1.0版本使用pb协议进行内部通信,不能直接和之前的版本建立主从关系,由低版本升级到pika3.1.0可以参照wiki进行升级(如何升级到Pika3.0如何升级到Pika3.1)
  • 由于zset精度的优化(自pika3.0.0起zset精度已与redis一致),如果你在低版本的pika(<3.0.0)中使用了geo功能,请在将其升级到pika3.0时不要直接使用nemo_to_blackwidow工具进行geo相关zset(其它结构的数据不受影响)数据的迁移,否则由于精度差异问题,迁移后的geo数据将损坏,建议使用客户端将geo相关zset数据重新导入。
  • 3.3.0 以后的版本包含了日志复制一致性的功能,建议使用该功能的用户使用本版本。
  • 为了保证服务的稳定,建议不使用日志复制一致性的用户升级至3.2.9。
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持