当数据类型是String(字符串)
- string 是 redis 最基本的类型,是二进制安全的,一个 key 对应一个 value。
SET将值"fido"存储在键“server:name”中:
SET server:name "fido"
获取server:name键中的值:
GET server:name
=> "fido"
测试给定键是否存在:【存在就返回 1 ,不存在就返回 0 】
EXISTS server:name => 1
EXISTS server:blabla => 0
查看所有的key:
keys *
移除当前的key
move name 1
查看当前key的一个类型!
type name
移除当前的key
move name 1
Redis 提供的其他基本操作是DEL删除给定键和关联值,INCR原子增加存储在给定键处的数字:
SET connections 10
INCR connections => 11
INCR connections => 12
DEL connections
INCR connections => 1
也可以将键中包含的数字增加特定数量:
INCRBY connections 100 => 101
并且有类似的命令可以减少键的值。
DECR connections => 100
DECRBY connections 10 => 90
当您使用递增和递减命令操作 Redis 字符串时,您正在实现counters。计数器是 Redis 非常流行的应用程序。
注意:所有由单个命令实现的 Redis 操作都是原子的,包括在更复杂的数据结构上操作的操作。
Redis 可以被告知一个密钥应该只存在一定的时间长度。这是通过EXPIRE和TTL命令以及类似的PEXPIRE和PTTL命令来完成的,这些命令使用毫秒而不是秒来操作时间。
SET resource:lock "Redis Demo"
EXPIRE resource:lock 120
这会导致 key resource:lock在 120 秒内被删除。您可以使用TTL命令测试密钥将存在多长时间。它返回将被删除之前的秒数。
TTL resource:lock => 113
// after 113s
TTL resource:lock => -2
密钥TTL的-2表示密钥不存在(不再存在)。密钥的TTL为-1表示它永远不会过期。请注意,如果您设置一个键,它的TTL将被重置。
SET resource:lock "Redis Demo 1"
EXPIRE resource:lock 120
TTL resource:lock => 119
SET resource:lock "Redis Demo 2"
TTL resource:lock => -1
SET命令实际上能够接受更多参数,以便直接为键设置生存时间 (TTL),因此您可以在单个原子操作中同时更改键的值并设置其 TTL:
SET resource:lock "Redis Demo 3" EX 5
TTL resource:lock => 5
还可以取消密钥的生存时间,删除过期并再次使密钥永久化。
SET resource:lock "Redis Demo 3" EX 5
PERSIST resource:lock
TTL resource:lock => -1
本文介绍了Redis中的字符串数据类型及其操作,如SET、GET、EXISTS、DEL、INCR、EXPIRE等。讨论了如何设置和检查键的生存时间(TTL),以及如何实现原子性的计数器。此外,还提到了如何通过PERSIST命令取消键的过期时间,确保其永久存在。
167

被折叠的 条评论
为什么被折叠?



