Redis服务器的搭建
首先需要gcc环境
yum install gcc-c++
下载redis压缩包
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
解压
tar -zxvf redis-5.0.3.tar.gz
编译安装
cd redis-5.0.3
make
# 安装到/usr/local/redis
make install PREFIX=/usr/local/redis
将redis.conf文件复制到/usr/local/redis/bin下
cp redis.conf /usr/local/redis/bin
修改redis.conf文件
vim redis.conf
将daemonize no 改成daemonize yes
cd /usr/local/redis/bin
直接启动:./redis-server 退出:ctrl+c
后台启动:./redis-server redis.conf
查看是否启动:ps aux|grep redis
关闭:kill 端口 或者 ./redis-cli shutdown
强制关闭:kill -9
查看防火墙状态:service iptables status
连接本地客户端:./redis-cli
退出客户端:ctrl+c
连接其他服务端的redis客户端:./redis-cli -h ip地址 -p 端口号
(连接其他服务端需要更改配置文件redis.conf中的bind,加入IP地址)
客户端命令:ping (查看redis健康状态)返回PONG表示政正常
Redis五种基本数据类型:string,hash,list,set,sorted set
数据库
默认情况下,Redis有16个数据库,从0号数据库到15号数据库。在默认情况下,Redis客户端的数据库为0号数据库,但客户端可以通过执行select命令来切换数据库。切换之后,在客户端中会显示数据库的标号(0号数据库不显示)
string
存数据(key,value):set key value
取数据:get key
查看当前数据库所有key:keys *
key自增(加1),value只能是数字,取出来的值是string类型:incr key
key自减:decr key
删除key:del key
查看当前库中key值数量:DBSIZE
keys k?:查找以k开头且后面跟一个字符的key值(keys k??)
清空当前库:FLUSHDB
清空所有库:FLUSHALL
hash
添加hash数据类型:hset hash名 field名 value
查看hash类型下所有的field:hkeys hash名
查看hash类型下所有的field对应的值:hvals hash名
获取hash类型的所有field及对应的value:hgetall hash名
删除hash类型的field:hdel hash名 field
list
添加list类型(可添加重复元素):
从左边开始添加:lpush list名 valuse
从右边开始添加:rpush list名 values
查看list中的values:lrange list名 start end(-1表示查看所有)
取出元素:
从左边取元素:lpop list名
从右边取语速:rpop list名
元素取出后list中将不存在
set
添加set类型(不可添加重复元素):sadd set名 values
查看元素:smembers set名
删除元素:srem set1 value[values]
两个set集合取差集:sdiff set名 set名
取交集:sinter set名 set名
取并集:sunion set名 set名
sorted set
添加 sorted set类型(有序的集合):zadd zset1 score value
根据score大小将value进行升序排序
查看:zrange key start end(-1查看所有)
删除:zrem key value
降序排序查看:zrevrange key start end
查看value及score:zrange/zrevrange key start end withscores
查看所有key:keys *
设置key的过期时间:expire key seconds,在过期时间没到之前可用该命令重置过期时间;将key持久化(永不过期,必须在过期时间内设置):Persist key
查看key的过期时间:ttl key(为正数则正在倒计时过期时间,为-1则说明永久保存,为-2表示该key不存在)
Redis持久化方案
Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘,Redis默认的持久化方案,默认开启。
aof:默认关闭,完整性相比于Rdb高,每秒访问一次磁盘,将操作存在appendonly.aof文件中,如果要恢复数据库则会将appendonly.aof文件中的操作执行一遍已实现数据恢复。
二、Redis Cluster(Redis 集群)的搭建
三、SSM整合Redis Cluster(Redis集群)
四、Redis集群踩的坑及报错记录并解决