安装启动
#解压cd redis-4.0.1#PREFIX 指定安装目录make install PREFIX=/usr/local/redis
进入安装目录bin下
可执行文件 | 作用 |
redis-server | 启动redis |
redis-cli | redis命令行客户端 |
redis-benchmark | 基准测试工具 |
redis-check-aof | AOF持久化文件检测和修复工具 |
redis-check-dump | RDB持久化文件检测和修复工具 |
redis-sentinel | 启动哨兵 |
redis-trib | cluster集群构建工具 |
拷贝解压文件中redis.conf到安装目录bin下,编辑
bind 127.0.0.1 绑定只有本机访问 注释掉
port 6379 访问端口 默认6379
requirepass 12345678 设置redis访问密码
daemonize yes 设置后台启动
启动
启动./redis-server redis.conf进入redis客户端 -p指定端口 -a指定密码./redis-cli -p 6379 -a 12345678关闭./redis-cli -p 6379 -a 12345678 shutdown检查redis启动状态ps -ef | grep redis
客户端全局命令
keys * 查看所有键
dbsize 键数量
exits key 检查键是否存在
del key 删除key
expire key 1 设置key过期时间1秒
ttl key 查看剩余生命周期 秒
type key数据结构
常用命令-字符串
set name 1 -保存 key name,value:1
set age 1 ex 10 -保存key age,value:1,10秒过期
get age -获取age的value
mset name jack age 10 批量保存
mget name age 批量获取
常用命令-字符串-计算
incr age //必须为整数自加1,非整数返回错误,无age键从0自增返回1
decr age //整数age减1
incrby age 2 //整数age+2
decrby age 2//整数age -2
incrbyfloat score 1.1 //浮点型score+1.1
常用命令-字符串-追加
append追加指令:set name hello; append name world //追加后成helloworld
字符串长度:set hello “世界”;strlen hello//结果6,每个中文占3个字节
截取字符串:set name helloworld ; getrange name 2 4//返回 llo
常用命令-hash
命令 hset key field value
设值:hset user:1 name james //成功返回1,失败返回0
取值:hget user:1 name //返回james
删值:hdel user:1 age //返回删除的个数
计算个数:hset user:1 name james; hset user:1 age 23;
hlen user:1 //返回2,user:1有两个属性值
批量设值:hmset user:2 name james age 23 sex boy //返回OK
批量取值:hmget user:2 name age sex //返回三行:james 23 boy
判断field是否存在:hexists user:2 name //若存在返回1,不存在返回0
获取所有field: hkeys user:2 // 返回name age sex三个field
获取user:2所有value:hvals user:2 // 返回james 23 boy
获取user:2所有field与value:hgetall user:2 //name age sex james 23 boy值
增加1:hincrby user:2 age 1 //age+1
hincrbyfloat user:2 age 2 //浮点型加
常用命令-list
添加 | rpush lpush linset |
查 | lrange lindex llen |
修改 | lset |
删除 | lpop rpop lrem ltrim |
阻塞 | blpop brpop |
常用命令-set
元素操作 | exists sadd smember srm scard spop |
集合交集 | sinter |
集合并集 | sunion |
集合差集 | sdiff |
将集合的结果另存到队列 | sinterstore sunionstore sdiffstore |
有序集合
zadd zrem zincrby |
zrange zrank zrevrank zrangebyscore zrevrangebyscore |
zcard zcount |
zinterstore |
连接问题
1.jedis访问redis超时!
原因1:sentos7 firewall阻拦,关闭防火墙
// 启动firewall systemctl start firewalld.service
// 关闭firewall systemctl stop firewalld.service