redis 知识点
-
redis是一个开源的、使用C语言编写的、支持网络交互的、基于内存支持持久化的Key-Value数据库。
redis官网地址,http://redis.io/。 -
redis 命令:
注:redis命令不区分大小写
| redis 命令 | 说明 |
|---|---|
| sudo make install PREFIX=/usr/local/redis | 安装到指定目录(终端执行) |
| ./redis-server | 启动(终端执行) |
| ./redis-cli | 打开命令窗口(终端执行) |
| ./redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q | 性能测试(终端执行) |
| set [key] [value] | 设置string类型 |
| get [key] | 获取string值 |
| del [key] | 删除key |
| dump key | 序列化给定 key ,并返回被序列化的值 |
| exists key | 检查给定 key 是否存在 |
| expire key seconds | 为 key 设置过期时间 |
| expireat key timestamp | 为 key 设置过期时间 |
| 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 所储存的值的类型。 |
| hmset user:1 username runoob password runoob | 设置hash类型 |
| hgetall user:1 | 获取hash值 |
| lpush key value [value...] | 设置list类型 |
| lrange key 0 10 | 获取list值 |
| sadd key member [member...] | 设置set类型 |
| smembers key | 获取set值 |
| zadd key score member [score member ...] | 设置zset类型 |
| zrangebyscore key min max | 获取zset值 |
| pfadd key element [element ...] | 添加指定元素到 HyperLogLog 中。 |
| pfcount key [key ...] | 返回给定 HyperLogLog 的基数估算值。 |
| config get loglevel | 查看配置项loglevel |
| config get * | 查看所有配置项 |
| config set loglevel "notice" | 设置配置项loglevel |
| config get * | 查看所有配置项 |
| ping | 检测 redis 服务是否启动 |
| redis-cli -h host -p port -a password | 在远程redis服务上执行命令 |
| pubsub subcommand [argument [argument ...]] | 查看订阅与发布系统状态。 |
| publish channel message | 将信息发送到指定的频道。 |
| subscribe channel [channel ...] | 订阅给定的一个或多个频道的信息。 |
| multi | 标记一个事务块的开始 |
| exec | 执行所有事务块内的命令 |
| discard | 取消事务,放弃执行事务块内的所有命令 |
| INFO [section] | 获取 Redis 服务器的各种信息和统计数值 |
| CLIENT KILL [ip:port] [ID client-id] | 关闭客户端连接 |
| CLIENT LIST | 获取连接到服务器的客户端连接列表 |
| CLIENT SETNAME connection-name | 设置当前连接的名称 |
| CLIENT GETNAME | 获取连接的名称 |
| CLUSTER SLOTS | 获取集群节点的映射数组 |
| COMMAND INFO command-name [command-name ...] | 获取指定 Redis 命令描述的数组 |
| DBSIZE | 返回当前数据库的 key 的数量 |
| FLUSHALL | 删除所有数据库的所有key |
| FLUSHDB | 删除当前数据库的所有key |
| MONITOR | 实时打印出 Redis 服务器接收到的命令,调试用 |
| ROLE | 返回主从实例所属的角色 |
| config get dir | 获取 redis 安装目录 |
| save | 创建当前数据库的备份。如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可 |
| CONFIG get requirepass | 查看redis服务是否设置了密码验证 |
| CONFIG set requirepass [password] | 为redis服务设置密码 |
| auth [password] | 使用密码验证,来登陆redis服务 |
-
redis指定安装到某个目录:sudo make install PREFIX=/usr/local/redis。
-
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
string类型是Redis最基本的数据类型,一个键最大能存储512MB。
Redis hash 是一个键名对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。每个 hash 可以存储 232 -1 个键值对(40多亿)。
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储 232 - 1 元素 (每个列表可存储40多亿)。
Redis的Set是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 -
问题:redis如何知道哪些key被watch?
答:应该是没有提供相应的命令;而是提供了unwatch来取消 WATCH 命令对所有 key 的监视。
浙公网安备 33010602011771号