config
CONFIG GET *
编辑配置:
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
Redis 数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
string
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
redis-cli> SET name "test"
OK
GET name
"test"
Hash(哈希)
==++Redis++ hash 是一个键值对集合==。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
HMSET user:1 username test password test points 200
HGETALL user:1
- HDEL key field2 [field2]
删除一个或多个哈希表字段 - HEXISTS key field
查看哈希表 key 中,指定的字段是否存在。 - HGET key field
获取存储在哈希表中指定字段的值/td> - HGETALL key
获取在哈希表中指定 key 的所有字段和值 - HINCRBY key field increment
为哈希表 key 中的指定字段的整数值加上增量 increment 。 - HINCRBYFLOAT key field increment
为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 - HKEYS key
获取所有哈希表中的字段 - HLEN key
获取哈希表中字段的数量 - HMGET key field1 [field2]
获取所有给定字段的值 - HMSET key field1 value1 [field2 value2 ]
同时将多个 field-value (域-值)对设置到哈希表 key 中。 - HSET key field value
将哈希表 key 中的字段 field 的值设为 value 。 - HSETNX key field value
只有在字段 field 不存在时,设置哈希表字段的值。 - HVALS key
获取哈希表中所有值 - HSCAN key cursor [MATCH pattern] [COUNT count]
迭代哈希表中的键值对。
List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
redis 127.0.0.1:6379> lpush test redis
(integer) 1
redis 127.0.0.1:6379> lpush test mongodb
(integer) 2
redis 127.0.0.1:6379> lpush test rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange test 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>
Set(集合)
Redis的Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)
redis 命令
ping
在远程服务上执行命令
$ redis-cli -h host -p port -a password
redis 键
COMMAND KEY_NAME
SET test redis
DEL test
- DEL key
该命令用于在 key 存在是删除 key。 - DUMP key
序列化给定 key ,并返回被序列化的值。 - EXISTS key
检查给定 key 是否存在。 - EXPIRE key seconds
为给定 key 设置过期时间。 - EXPIREAT key timestamp
EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。 - PEXPIRE key milliseconds
设置 key 的过期时间亿以毫秒计。 - PEXPIREAT key milliseconds-timestamp
设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 - KEYS pattern
查找所有符合给定模式( pattern)的 key 。 - MOVE key db
将当前数据库的 key 移动到给定的数据库 db 当中。 - PERSIST key
移除 key 的过期时间,key 将持久保持。 - PTTL key
以毫秒为单位返回 key 的剩余的过期时间。 - TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 - RANDOMKEY
从当前数据库中随机返回一个 key 。 - RENAME key newkey
修改 key 的名称 - RENAMENX key newkey
仅当 newkey 不存在时,将 key 改名为 newkey 。 - TYPE key
返回 key 所储存的值的类型。
Redis 数据备份与恢复
Redis SAVE 命令用于创建当前数据库的备份。
语法
redis Save 命令基本语法如下:
redis 127.0.0.1:6379> SAVE
实例
redis 127.0.0.1:6379> SAVE
OK
该命令将在 redis 安装目录中创建dump.rdb文件。
恢复数据
如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:
redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"
以上命令 CONFIG GET dir 输出的 redis 安装目录为 /usr/local/redis/bin。
Bgsave
创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。
实例
127.0.0.1:6379> BGSAVE
Background saving started