Explain the use restrictions of KeepTTL. (#1799)

Signed-off-by: monkey92t <golang@88.com>
This commit is contained in:
monkey92t 2021-06-25 11:58:21 +08:00 committed by GitHub
parent f0b2f90143
commit 960e4d6cf0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 0 deletions

View File

@ -10,6 +10,7 @@ import (
) )
// KeepTTL is an option for Set command to keep key's existing TTL. // KeepTTL is an option for Set command to keep key's existing TTL.
// It requires your redis-server version >= 6.0 (Otherwise you will receive an error: (error) ERR syntax error).
// For example: // For example:
// //
// rdb.Set(ctx, key, value, redis.KeepTTL) // rdb.Set(ctx, key, value, redis.KeepTTL)
@ -841,6 +842,7 @@ func (c cmdable) MSetNX(ctx context.Context, values ...interface{}) *BoolCmd {
// //
// Zero expiration means the key has no expiration time. // Zero expiration means the key has no expiration time.
// KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL. // KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
// It requires your redis-server version >= 6.0 (Otherwise you will receive an error: (error) ERR syntax error).
func (c cmdable) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd { func (c cmdable) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd {
args := make([]interface{}, 3, 5) args := make([]interface{}, 3, 5)
args[0] = "set" args[0] = "set"
@ -874,6 +876,7 @@ type SetArgs struct {
Get bool Get bool
// KeepTTL is a Redis KEEPTTL option to keep existing TTL. // KeepTTL is a Redis KEEPTTL option to keep existing TTL.
// It requires your redis-server version >= 6.0 (Otherwise you will receive an error: (error) ERR syntax error).
KeepTTL bool KeepTTL bool
} }
@ -922,6 +925,7 @@ func (c cmdable) SetEX(ctx context.Context, key string, value interface{}, expir
// //
// Zero expiration means the key has no expiration time. // Zero expiration means the key has no expiration time.
// KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL. // KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
// It requires your redis-server version >= 6.0 (Otherwise you will receive an error: (error) ERR syntax error).
func (c cmdable) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd { func (c cmdable) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd {
var cmd *BoolCmd var cmd *BoolCmd
switch expiration { switch expiration {
@ -946,6 +950,7 @@ func (c cmdable) SetNX(ctx context.Context, key string, value interface{}, expir
// //
// Zero expiration means the key has no expiration time. // Zero expiration means the key has no expiration time.
// KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL. // KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
// It requires your redis-server version >= 6.0 (Otherwise you will receive an error: (error) ERR syntax error).
func (c cmdable) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd { func (c cmdable) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd {
var cmd *BoolCmd var cmd *BoolCmd
switch expiration { switch expiration {