Redis-benchmark测试redis
Redis是单进程:单进程模型来处理客户端的请求,对读写等事件的响应是通过epoll函数的包装来做到的。
epoll是Linux内核为处理大批量文件描述符而作了改进的poll(具体我也不清楚)
Redis有16个默认的数据库, 可以用 select NUM 来选择数据库(索引从0开始) 例如 select 7 是选择第8个数据库
Dbsize 查看当前数据库key的数量
key * 罗列所有的key key支持占位符的那种风格 也就是 key k? 就是罗列所有以k打头的key
FLUSHDB 清除当前的数据库 FLUSHALL清除全部数据库 (这两个命令慎用!!!)
默认端口6379
Redis五大数据类型
1、String
常用命令:set、get、 del、 append、 strlen、 incrby:增加 (value必须为数字) 示例 incrby k2 3 :k2键递增3 、decrby 递减
getrange:获取指定区间范围的值,示例: set key1 abcdef123 , getrange key1 0 -1 结果 、 abcdef123 getrange key1 0 2 结果 abc
setrange 设置指定区间范围内的值 示例: setrange key1 xxx 表示从第二位开始设置值 结果:axxxef123
setex 设置秒数为NUM的key/value值 示例:setex k1 10 v4
setnx 跟setnx功能一样,但它是先判断设置的key是否存在,如果不存在才回去设置,目的是防止覆盖前面的key /value
mset、mget、msetnx
2、List 类似于Map<String,Object>
3、Set
4、Hash
5、Zset(sorted set )不允许重复、不同的每个元素都会关联一个double类型的分数
redis常见的操作命令
key相关命令: exists key的名字 判断某个key是否存在 若存在返回1 不存在则返回0
move key db 将当前的key移到其他的数据库中,在当前库就没有了
expire key 秒数:为给定的key设置过期时间
ttl key 查看还有多少秒过期 -1 表示永不过期 -2 表示已经过期
del key 删除key