Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Supported Redis Lists commands: LINDEX, LLEN, LPOP, LPUSH, LPUSHX, LRANGE, LREM, LSET, LTRIM, RPOP, RPUSH, RPUSHX
5.3 Hashes
Redis Hashes are String to String maps. This is the most straightforward implementation of the group because a region in a Geode cache is a map so the data can be added without any reconfiguration是字符串到字符串的映射. 是 Group 最直接的实现, 因为一个 Region 就是一个 Map, 因此数据能够被添加进去, 不需要任何重新配置.
Supported Hashes commands: HDEL, HEXISTS, HGET, HGETALL, HINCRBY, HINCRBYFLOAT, HKEYS, HMGET, HMSET, HSCAN, HSETNX, HLEN, HSET, HVALS
5.4 Sets
Redis Sets are unordered sets of Strings. This will be implemented in Geode by holding the set data as keys in the region which will implicitly perform the necessary actions to simulate a 是无序的字符串集合. 它将在 Geode 中实现, 通过保存 set data 作为 keys, 在这个 region 中将执行必要的动作来模拟一个 set.
Supported Sets commands: SADD, SCARD, SDIFF, SDIFFSTORE, SINTER, SINTERSTORE, SISMEMBER, SMEMBERS, SMOVE, SREM, SPOP, SRANDMEMBER, SSCAN, SUNION, SUNIONSTORE
5.5 SortedSets
Redis SortedSets are Sets that are ordered by an explicit 是一个 Sets , 通过一个显式的 "score" . The ordering does not take into account ordering such as lexicographical or hashing functionality but instead uses the score for sorting. Members of the SortedSet are unique but scores are not, therefore sorted sets are member to score mappings in Geode来进行排序. 排序不考虑帐号排序, 例如 lexicographical 或 hashing 功能, 而不是使用"score" 评分. SortedSet 的成员是唯一的, 但是评分不是唯一的, 因此在Geode中,  sorted sets 是成员的评分映射.

Supported SortedSets commands: ZADD, ZCARD, ZCOUNT, ZINCRBY, ZLEXCOUNT, ZRANGE, ZRANGEBYLEX, ZRANGEBYSCORE, ZRANK, ZREM, ZREMRANGEBYLEX, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZREVRANGE, ZREVRANGEBYSCORE, ZREVRANK, ZSCAN, ZSCORE

...

5.6 HyperLogLogs
Redis HyperLogLog 's are C implementations of the data structure, whereas this implementation is done in Java within Geode. The only difference is that Geode implementation does not utilize the sparse implementation for small cardinalities but is otherwise the same是 C语言实现的数据结构, 而在 Geode 中通过 Java 来实现这个. 唯一的区别是对于小基数, Geode 实现并没有利用稀疏实现.

Supported HyperLogLog commands: PFADD, PFCOUNT, PFMERGE
5.6 Additional Information额外的信息
The GemFire Redis Server will also implement other commands to be a full fledged Redis server. However it is worth noting that while Redis has 160+ commands in their protocol, the GemFireRedisServer will support roughly 110 of them. These will cover all basic commands as well and other practical ones that should not be left out. Redis has many commands for server configurations that are set up differently for Geode as well as scripting that isn't supported.服务器也实现了其他的命令成为了逐渐丰满的 Redis 服务器. 而 Redis 有160+ 个命令, 不用全部实现, GemFireRedisServer 将支持大约110左右. 这些将覆盖所有的基本命令, 而其他的命令也不能忽略. 对于服务器配置, Redis 有许多命令, 在 Geode 中以不同的方式来设置, 脚本不支持.
另外一个值得注意的事情是 keys 是在GemFireRedisServer所支持的key, 与 Redis 不相同. 而所有的值是二进制安全的, 大多数 keys 不是, 它们有自己的 Regions. Region 命令空间通过 Java Strings来定义, 同时 Geode's OQL 引擎不支持所有的字符. 因此一些 keys 可能会导致失败, 如果使用创建一个key (使用非打印字符如 UTFAnother important note about keys is that key support within GemFireRedisServer is not the same as Redis. While all values are binary safe, most keys are not as they will have their own Regions in Geode. The Region namespace is defined by Java Strings, and Geode's OQL engine does not support all characters. Therefore some keys may cause failures with Geode if attempting to create a key using non printable characters such as UTF-8 0x01, 0x02, etc等).
The backing Regions for each key are partitioned by default, but the default region type can be configured by system property. If different keys are desired to have different types of Regions, these Regions must be defined in cache.xml. The other configuration to strongly consider per use case is defining the number of worker threads to use for Redis clients对于每个 key, 后面的 Regions 默认情况下是分区的, 但是默认的 region 类型能够通过系统属性来配置. 如果不同的 keys 被要求有不同的 Region 类型, 这些Regions 必须被定义在 cache.xml中. 其他配置需要考虑应用场景 定义了 worker 线程的数量为 Redis客户端使用. This is also defined by system property and more information can be found in the GemFireRedisServer javadoc. To put it all together, this adapter can be instantiated through invoking com.gemstone.gemfire.redis.GemFireRedisServer independently or programmatically, or through GFSH when the property redis-port is set.

...