davebarnes97 commented on a change in pull request #5214:
URL: https://github.com/apache/geode/pull/5214#discussion_r436178644



##########
File path: geode-docs/tools_modules/redis_api_for_geode.html.md.erb
##########
@@ -60,30 +65,52 @@ If the server is functioning properly, you should see a 
response of `PONG`.
 
 The Redis API for <%=vars.product_name%> currently supports the following 
commands.  See [Redis commands](https://redis.io/commands/) for a complete list 
of and more information on Redis commands.
 
--   **Strings**: APPEND, GET, GETRANGE, SET
+**Note**: These commands are supported for Redis 5.
+
+-   **Connection**: AUTH, PING, QUIT
 -   **Hashes**: HGETALL, HMSET, HSET
--   **Sets**: SADD, SMEMBERS, SREM
+-   **Keys**: DEL, EXISTS, EXPIRE, EXPIREAT, KEYS, PERSIST, PEXPIRE, 
PEXPIREAT, PTTL, RENAME, TTL, TYPE
 -   **Publish/Subscribe**: PUBLISH, PSUBSCRIBE, PUNSUBSCRIBE, SUBSCRIBE, 
UNSUBSCRIBE
--   **Keys**: DEL, EXISTS, EXPIRE, PERSIST, PEXPIRE, PEXPIREAT, RENAME
+-   **Sets**: SADD, SMEMBERS, SREM
+-   **Strings**: APPEND, GET, SET
 
-The following Redis API for <%=vars.product_name%> commands are 
**experimental**:
+The following Redis API for <%=vars.product_name%> commands are 
**unsupported**. Unsupported
+commands are available to use, but have not been fully tested. There is no 
guarantee they will work
+exactly as expected.
 
--   **Strings**: BITCOUNT, BITOP, BITPOS, DECR, DECRBY, GETBIT, GETSET, INCR, 
INCRBY, INCRBYFLOAT, MGET,
-  MSET, MSETNX, PSETEX, SETBIT, SETEX, SETNX, STRLEN
--   **Lists**: LINDEX, LLEN, LPOP, LPUSH, LPUSHX, LRANGE, LREM, LSET, LTRIM, 
RPOP, RPUSH, RPUSHX
--   **Hashes**: HDEL, HEXISTS, HGET, HINCRBY, HINCRBYFLOAT, HKEYS, HMGET, 
HSETNX, HLEN, HSCAN, HVALS
+-   **Connection**: ECHO
+-   **Hashes**: HDEL, HEXISTS, HGET, HINCRBY, HINCRBYFLOAT, HKEYS, HLEN, 
HMGET, HSCAN, HSETNX, HVALS
+-   **Keys**: SCAN
+-   **Server**: DBSIZE, FLUSHALL (no async option), FLUSHDB (no async option), 
SHUTDOWN, TIME
 -   **Sets**: SCARD, SDIFF, SDIFFSTORE, SINTER, SINTERSTORE, SISMEMBER, SMOVE, 
SPOP, SRANDMEMBER,
   SSCAN, SUNION, SUNIONSTORE
--   **SortedSets**: ZADD, ZCARD, ZCOUNT, ZINCRBY, ZLEXCOUNT, ZRANGE, 
ZRANGEBYLEX, ZRANGEBYSCORE,
-  ZRANK, ZREM, ZREMRANGEBYLEX, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZREVRANGE, 
ZREVRANGEBYSCORE,
-  ZREVRANK, ZSCAN, ZSCORE
--   **HyperLogLog**: PFADD, PFCOUNT, PFMERGE
--   **Keys**: DBSIZE, EXPIREAT, FLUSHDB, FLUSHALL, KEYS, PTTL, SCAN, TTL
--   **Transactions**: DISCARD, EXEC, MULTI
--   **Server**: AUTH, ECHO, PING, QUIT
+-   **Strings**: BITCOUNT, BITOP, BITPOS, DECR, DECRBY, GETBIT, GETRANGE, 
GETSET, INCR, INCRBY, INCRBYFLOAT, MGET,
+  MSET, MSETNX, PSETEX, SETBIT, SETEX, SETNX, SETRANGE, STRLEN
+
+
+To enable unsupported commands, the Geode server must be started with the Java 
property `enable-redis-unsupported-commands=true`:
+
+```pre
+start server \
+  --J=-Denable-redis-unsupported-commands=true \
+  --name=<serverName> \
+  --locators=<locatorPort> \
+  --redis-port=<redisPort> \
+  --redis-bind-address=<redisBindAddress> \
+  --redis-password=<redisPassword>
+```
+
+Commands not listed above are **not implemented**.
 
 ## <a id="advantages-of-<%=vars.product_name_lowercase%>-over-redis" 
class="no-quick-link"></a>Advantages of <%=vars.product_name%> over Redis
 
 <%=vars.product_name%>’s primary advantage is its **scalability**. While the 
Redis server is single threaded, <%=vars.product_name%> supports high 
concurrency. Many Redis clients can execute commands on the 
<%=vars.product_name%> cluster simultaneously.
 
-<%=vars.product_name%>'s architecture and management features help detect and 
resolve **network partitioning** problems without explicit management on the 
part of the Redis client.
\ No newline at end of file
+<%=vars.product_name%>'s architecture and management features help detect and 
resolve **network partitioning** problems without explicit management on the 
part of the Redis client.
+
+## <a id="expiration-accuracy" class="no-quick-link"></a>Expiration Accuracy
+
+Keys are expired in two ways, actively and passively:
+
+-   Expiration is evaluated whenever a key is accessed. If the key is due to 
expire, it is deleted. Active expiration is accurate to the millisecond.

Review comment:
       For clarity, please begin each bullet with the type of expiration it 
explains. A bit more stilted, stylistic, but worth it I think for ease of 
apprehension. Something like this:
   - With active expiration, expiration is evaluated..
   - With passive expiration, keys are evaluated every second...




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to