Add TTL to created keys
This commit is contained in:
		| @ -158,7 +158,7 @@ public class RedisLookupDataAdapter extends LookupDataAdapter { | |||||||
|     public LookupResult setValue(Object key, Object value) { |     public LookupResult setValue(Object key, Object value) { | ||||||
|         final Timer.Context time = redisSetRequestTimer.time(); |         final Timer.Context time = redisSetRequestTimer.time(); | ||||||
|         try { |         try { | ||||||
|             final String result = this.commands.set(key.toString(), value.toString()); |             final String result = this.commands.setex(key.toString(), this.config.redisKeyTTL(), value.toString()); | ||||||
|             if (!result.equals("OK")) { |             if (!result.equals("OK")) { | ||||||
|                 LOG.warn("Redis SET key <{}> to value <{}> returned {}", key, value, result); |                 LOG.warn("Redis SET key <{}> to value <{}> returned {}", key, value, result); | ||||||
|                 redisSetRequestErrors.mark(); |                 redisSetRequestErrors.mark(); | ||||||
| @ -194,6 +194,7 @@ public class RedisLookupDataAdapter extends LookupDataAdapter { | |||||||
|                     .redisHost("127.0.0.1") |                     .redisHost("127.0.0.1") | ||||||
|                     .redisPort(6379) |                     .redisPort(6379) | ||||||
|                     .redisDB(0) |                     .redisDB(0) | ||||||
|  |                     .redisKeyTTL(86400) | ||||||
|                     .redisUsername("") |                     .redisUsername("") | ||||||
|                     .redisPassword("") |                     .redisPassword("") | ||||||
|                     .build(); |                     .build(); | ||||||
| @ -225,6 +226,10 @@ public class RedisLookupDataAdapter extends LookupDataAdapter { | |||||||
|         @Min(0) |         @Min(0) | ||||||
|         public abstract int redisDB(); |         public abstract int redisDB(); | ||||||
|  |  | ||||||
|  |         @JsonProperty("redis_ttl") | ||||||
|  |         @Min(0) | ||||||
|  |         public abstract long redisKeyTTL(); | ||||||
|  |  | ||||||
|         @JsonProperty("redis_username") |         @JsonProperty("redis_username") | ||||||
|         @Nullable |         @Nullable | ||||||
|         public abstract String redisUsername(); |         public abstract String redisUsername(); | ||||||
| @ -268,6 +273,9 @@ public class RedisLookupDataAdapter extends LookupDataAdapter { | |||||||
|             @JsonProperty("redis_database") |             @JsonProperty("redis_database") | ||||||
|             public abstract Builder redisDB(int redisDB); |             public abstract Builder redisDB(int redisDB); | ||||||
|  |  | ||||||
|  |             @JsonProperty("redis_ttl") | ||||||
|  |             public abstract Builder redisKeyTTL(long redisKeyTTL); | ||||||
|  |  | ||||||
|             @JsonProperty("redis_username") |             @JsonProperty("redis_username") | ||||||
|             public abstract Builder redisUsername(String redisUsername); |             public abstract Builder redisUsername(String redisUsername); | ||||||
|  |  | ||||||
|  | |||||||
| @ -23,7 +23,9 @@ class RedisLookupAdapterDocumentation extends React.Component { | |||||||
|     return ( |     return ( | ||||||
|       <div> |       <div> | ||||||
|         <p style={style}> |         <p style={style}> | ||||||
|             The Redis Lookup data adapter lookup redis for the given key and returns the values . |             The Redis Lookup data adapter lookup redis for the given key and returns the values.<br/> | ||||||
|  |             It supports writing key/values to Redis (SET command). <br/> | ||||||
|  |             All created keys will have the TTL configured for the data adapter. | ||||||
|         </p> |         </p> | ||||||
|       </div> |       </div> | ||||||
|     ) |     ) | ||||||
|  | |||||||
| @ -76,6 +76,17 @@ class RedisLookupAdapterFieldSet extends React.Component { | |||||||
|         value={config.redis_database} |         value={config.redis_database} | ||||||
|         labelClassName="col-sm-3" |         labelClassName="col-sm-3" | ||||||
|         wrapperClassName="col-sm-9" /> |         wrapperClassName="col-sm-9" /> | ||||||
|  |       <Input type="text" | ||||||
|  |         id="redis_ttl" | ||||||
|  |         name="redis_ttl" | ||||||
|  |         label="Redis key TTL" | ||||||
|  |         required | ||||||
|  |         onChange={this.props.handleFormEvent} | ||||||
|  |         help={this.props.validationMessage('redis_ttl', 'Redis key TTL in seconds')} | ||||||
|  |         bsStyle={this.props.validationState('redis_ttl')} | ||||||
|  |         value={config.redis_ttl} | ||||||
|  |         labelClassName="col-sm-3" | ||||||
|  |         wrapperClassName="col-sm-9" /> | ||||||
|       <Input type="text" |       <Input type="text" | ||||||
|         id="redis_username" |         id="redis_username" | ||||||
|         name="redis_username" |         name="redis_username" | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user