Redis Keys 命令用于查找所有符合给定模式 pattern 的 key
- redis 127.0.0.1:6379> SET w3c1 redis
- OK
- redis 127.0.0.1:6379> SET w3c2 mysql
- OK
- redis 127.0.0.1:6379> SET w3c3 mongodb
- OK
- redis 127.0.0.1:6379> KEYS w3c*
- 1) "w3c3"
- 2) "w3c1"
- 3) "w3c2"
- redis 127.0.0.1:6379> KEYS *
- 1) "w3c3"
- 2) "w3c1"
- 3) "w3c2"
Redis Type 命令 - 返回 key 所储存的值的类型。
返回 key 的数据类型,数据类型有:
- none (key不存在)
- string (字符串)
- list (列表)
- set (集合)
- zset (有序集)
- hash (哈希表)
127.0.0.1:6379> type jonner string
Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。 设置成功,返回 1 。 设置失败,返回 0 。
redis Setnx 命令基本语法如下:
- redis 127.0.0.1:6379> SETNX KEY_NAME VALUE
127.0.0.1:6379> setnx jonner nonner (integer) 1 127.0.0.1:6379> 127.0.0.1:6379> get jonner "nonner" 127.0.0.1:6379> set jonner bb OK 127.0.0.1:6379> get jonner "bb" 127.0.0.1:6379>
Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
redis SET 命令基本语法如下:
redis 127.0.0.1:6379> SET KEY_NAME VALUE
127.0.0.1:6379> set jonner keyb OK 127.0.0.1:6379> get jonner "keyb" 127.0.0.1:6379>
Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。
Redis Mset 命令用于同时设置一个或多个 key-value 对。
redis 127.0.0.1:6379> MSET key1 "Hello" key2 "World" OK redis 127.0.0.1:6379> GET key1 "Hello" redis 127.0.0.1:6379> GET key2 1) "World"
Redis Setex 命令 - 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
redis 127.0.0.1:6379> SETEX mykey 60 redis OK redis 127.0.0.1:6379> TTL mykey 60 redis 127.0.0.1:6379> GET mykey "redis
Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。
redis 127.0.0.1:6379> SET w3ckey redis OK redis 127.0.0.1:6379> DEL w3ckey (integer) 1
Redis EXISTS 命令用于检查给定 key 是否存在。
redis 127.0.0.1:6379> set w3cschoolcc-new-key newkey OK redis 127.0.0.1:6379> EXISTS w3cschoolcc-new-key (integer) 1 redis 127.0.0.1:6379>
Redis PERSIST 命令用于移除给定 key 的过期时间,使得 key 永不过期。
redis> SET mykey "Hello" OK redis> EXPIRE mykey 10 # 为 key 设置生存时间 (integer) 1 redis> TTL mykey (integer) 10 redis> PERSIST mykey # 移除 key 的生存时间 (integer) 1 redis> TTL mykey (integer) -1
Redis TTL 命令以秒为单位返回 key 的剩余过期时间。(Redis Pttl 命令以毫秒为单位返回 key 的剩余过期时间。)
# 不存在的 key redis> FLUSHDB OK redis> TTL key (integer) -2 # key 存在,但没有设置剩余生存时间 redis> SET key value OK redis> TTL key (integer) -1 # 有剩余生存时间的 key redis> EXPIRE key 10086 (integer) 1 redis> TTL key (integer) 10084
Redis Rename 命令用于修改 key 的名称 。
# key 存在且 newkey 不存在 redis> SET message "hello world" OK redis> RENAME message greeting OK redis> EXISTS message # message 不复存在 (integer) 0 redis> EXISTS greeting # greeting 取而代之 (integer) 1
Redis MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中。
# key 存在于当前数据库 redis> SELECT 0 # redis默认使用数据库 0,为了清晰起见,这里再显式指定一次。 OK redis> SET song "secret base - Zone" OK redis> MOVE song 1 # 将 song 移动到数据库 1 (integer) 1 redis> EXISTS song # song 已经被移走 (integer) 0 redis> SELECT 1 # 使用数据库 1 OK redis:1> EXISTS song # 证实 song 被移到了数据库 1 (注意命令提示符变成了"redis:1",表明正在使用数据库 1) (integer) 1
Redis RANDOMKEY 命令从当前数据库中随机返回一个 key 。
# 数据库不为空 redis> MSET fruit "apple" drink "beer" food "cookies" # 设置多个 key OK redis> RANDOMKEY "fruit" redis> RANDOMKEY "food"
Redis DUMP 命令用于序列化给定 key ,并返回被序列化的值。
redis> SET greeting "hello, dumping world!" OK redis> DUMP greeting "x00x15hello, dumping world!x06x00Exa0Zx82xd8rxc1xde" redis> DUMP not-exists-key (nil)