This is an automated email from the ASF dual-hosted git repository. dbarnes pushed a commit to branch support/1.15 in repository https://gitbox.apache.org/repos/asf/geode.git
commit 73026a0b0fb94a759cd63c82c1544ada5ce4d3e2 Author: Dave Barnes <[email protected]> AuthorDate: Wed Jan 26 17:51:09 2022 -0800 remove stray markdown file (#7314) --- geode-docs/tools_modules/geode_for_redis.html.md | 242 ----------------------- 1 file changed, 242 deletions(-) diff --git a/geode-docs/tools_modules/geode_for_redis.html.md b/geode-docs/tools_modules/geode_for_redis.html.md deleted file mode 100644 index 735c5d1..0000000 --- a/geode-docs/tools_modules/geode_for_redis.html.md +++ /dev/null @@ -1,242 +0,0 @@ -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -<% set_title(product_name, "for Redis") %> - -<%=vars.product_name%> for Redis allows <%=vars.product_name%> to function as a drop-in replacement for a -highly-available Redis data store, letting Redis applications take advantage of -<%=vars.product_name%>’s scaling capabilities without changing their client code. Redis clients connect to a <%=vars.product_name%> -server in the same way they connect to a Redis server, using a hostname and a port number, with -optional password authentication. - -<img src="../images_svg/geode_for_redis.svg" class="image" /> - -## <a id="using-the-api" class="no-quick-link"></a>Using <%=vars.product_name%> for Redis - -The <%=vars.product_name%> cluster must have at least one server that is set up to handle the incoming Redis commands. - -Use gfsh to start at least one server with a command of the form: - -```pre -start server \ - --name=<serverName> \ - --locators=<locatorPort> \ - --geode-for-redis-port=<geodeForRedisPort> \ - --geode-for-redis-bind-address=<geodeForRedisBindAddress> \ - --geode-for-redis-password=<geodeForRedisPassword> -``` - -If any of the options `geode-for-redis-bind-address`, `geode-for-redis-password`, or `geode-for-redis-port` -are included, a <%=vars.product_name%> server with <%=vars.product_name%> for Redis will be started. - -Replace `<serverName>` with the name of your server. - -Replace `<locatorPort>` with your locator port. - -Replace `<geodeForRedisPort>` with the port that the <%=vars.product_name%> server - listens on for Redis commands. The typical port used with a cluster compatible with Redis is 6379. - -Replace `<geodeForRedisBindAddress>` with the address of the server host. - -Replace `<geodeForRedisPassword>` with the password clients use to authenticate. - -To confirm the server is listening, run: - -``` pre -redis-cli -h <geodeForRedisBindAddress> -p <geodeForRedisPort> -a <geodeForRedisPassword> ping -``` - -Replace `<geodeForRedisBindAddress>`,`<geodeForRedisPort>`, and `<geodeForRedisPassword>` with the same values as the server. - -If the server is functioning properly, you should see a response of `PONG`. - -## <a id="supported-commands" class="no-quick-link"></a>Supported Redis Commands - -<%=vars.product_name%> for Redis supports the following Redis commands. -<br/> - - - APPEND <br/> - - AUTH <br/> - - DECR <br/> - - DECRBY <br/> - - DEL <br/> - - EXISTS <br/> - - EXPIRE <br/> - - EXPIREAT <br/> - - GET <br/> - - GETRANGE <br/> - - HDEL <br/> - - HEXISTS <br/> - - HGET <br/> - - HGETALL <br/> - - HINCRBY <br/> - - HINCRBYFLOAT <br/> - - HLEN <br/> - - HMGET <br/> - - HMSET <br/> - - HSCAN **[1]** <br/> - - HSET <br/> - - HSETNX <br/> - - HSTRLEN <br/> - - HVALS <br/> - - HKEYS <br/> - - INCR <br/> - - INCRBY <br/> - - INCRBYFLOAT <br/> - - INFO **[2]** <br/> - - KEYS <br/> - - MGET <br/> - - PERSIST <br/> - - PEXPIRE <br/> - - PEXPIREAT <br/> - - PING <br/> - - PSUBSCRIBE <br/> - - PTTL <br/> - - PUBLISH <br/> - - PUNSUBSCRIBE <br/> - - QUIT <br/> - - RENAME <br/> - - SADD <br/> - - SCARD <br/> - - SDIFF <br/> - - SDIFFSTORE <br/> - - SISMEMBER <br/> - - SET <br/> - - SETNX <br/> - - SLOWLOG **[3]** <br/> - - SMEMBERS <br/> - - SREM <br/> - - STRLEN <br/> - - SUBSCRIBE <br/> - - TTL <br/> - - TYPE <br/> - - UNSUBSCRIBE <br/> - -<br/> -Commands not listed above are **not implemented**. - -<br/> -**NOTES:** - -These commands are supported for Redis 5. - -**[1]** Redis accepts 64-bit signed integers for the HSCAN cursor and COUNT parameters. - <%=vars.product_name%> for Redis is limited to 32-bit integer values for these parameters. - -**[2]** INFO is implemented for the sections and fields listed below: - - - clients - - - connected_clients - - - blocked_clients (always returns 0) - - - cluster - - - cluster_enables (always returns 0) - - - keyspace - - - returns stats for db: 0 - - - memory - - - maxmemory - - - used_memory - - - mem_fragmentation_ratio (always reports 1.00) - - - persistence - - - loading (always returns 0) - - - rdb_changes_since_last_save (always returns 0) - - - rdb_last_save_time (always returns 0) - - - replication - - - role - - - connected_slaves (always returns 0) - - - server - - - redis_version - - - redis_mode - - - tcp_port - - - uptime_in_seconds - - - uptime_in_days - - - stats - - - total_commands_processed - - - instantaneous_ops_per_sec - - - total_net_input_bytes - - - instantaneous_input_kbps - - - total_connections_received - - - keyspace_hits - - - keyspace_misses - - - evicted_keys (always returns 0) - - - rejected_connections (always returns 0) - -**[3]** SLOWLOG is implemented as a NoOp. - -## <a id="advantages-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. - -## <a id="expiration-accuracy" class="no-quick-link"></a>Expiration Accuracy - -Keys are expired in two ways, actively and passively: - -- With active expiration, 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. -- With passive expiration, keys are evaluated every second. If they are due to expire, they are deleted. Passive expiration is accurate to the second. - -## <a id="high-availability-model" class="no-quick-link"></a>High Availability Model - -Data is stored in a single partitioned region that has one redundant copy. -In practice this means that the cluster can tolerate the loss of a single server without the loss of -data. - -## <a id="loss-of-connections" class="no-quick-link"></a>Loss of Connections - -There are a number of events that might occur within the <%=vars.product_name%> cluster that can result -in the cluster closing the connection to the Redis client. Losing the connection to the cluster does not -imply that the server is no longer available. - -When the connection is lost, the client should attempt to reconnect to the same server before -attempting to connect to another server. -The Redis client is responsible for knowing the addresses of all servers. - -In the case of a connection failure, an invoked command may or may not complete. -The Redis client is responsible for deciding if the command should be retried.
