Redis简介
------Redis是一个使用C语言编写的基于内存的NoSql数据库,它是目前最流行的键值对存储数据库。Redis是由一个Key,Value映射的字典构成,与其它NoSQL不同,Redis中的Value的类型不局限于字符串,还支持冽 表,集合,有序集合,散列等。Redis不仅可以当作缓存使用,还可以配置持久化后当作Nosql数据库用.
Redis安装
安装环境为CENTOS 7
1.下载Redis
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
//若是未找到命令,则
yum install wget
2.安装
tar -zxvf redis-4.0.10.tar.gz
cd redis-4.0.10
make MALLOC=libc
make install
//若未安装gcc,则安装
yum install gcc
3.配置Redis
----安装成功后,接下来进行配置,打开安装目录下的redis.conf文件主要修改以下几个地方,vi工具修改。
(ESC退出当前模式,/string查找相应的字符串,若想查找下一个按n , :wq!退出保存)
daemonizeyes
#bind 127.0.0.1
requirepass 123@456
protected-mode no
-----------------------------------------------------------------------------------------------------------------------------------------------
第1行配置表示允许Redis在后台运行
第2行配配置表示允许连接该Redis实例的地址,默认情况下只允许本地连接,将默认地址注释掉,外网就可以访问它了。
第3行配置表示登录该Redis的所需的密码
第4行配置,表示由于有第3行的密码登录,就可以不用保护了。
4.配置远程访问
-----为了能够远程连接Redis,还需要关闭防火增。
systemctl stop firewalld.service
systemctl disable firewalld.service
5.Redis启动与关闭
一,启动并进入控制台
redis-server redis.conf
redis-cli -a 123@456
二,关闭实例
redis-cli -p 6379 -a 123@456 shutdown
springboot整合Redis
1-导包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
注意:此处是排除了lettuce客户端包,用了流行的jedis客户端*
2-全局配置文件,下面为lettuce和jedis都做了配置
spring.redis.database=0
spring.redis.host=192.168.58.131
spring.redis.port=6379
spring.redis.password=123@456
spring.redis.lettuce.pool.max-active=100
spring.redis.lettuce.pool.max-idle=8
spring.redis.lettuce.pool.max-wait=8
spring.redis.lettuce.pool.min-idle=8
spring.redis.lettuce.shutdown-timeout=8
spring.redis.jedis.pool.max-active= 8
spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.max-wait= -1ms
spring.redis.jedis.pool.min-idle= 0
3-创建实体类Book
public class Book implements Serializable {
private Integer id;
private String name;
private String author;
//省略getter/setter/toString
4-控制类
@RestController
public class BookController {
@Autowired
RedisTemplate redisTemplate;
@Autowired
StringRedisTemplate stringRedisTemplate;
@GetMapping("/test1")
public void test1() {
ValueOperations<String, String> ops1 = stringRedisTemplate.opsForValue();
ops1.set("name", "三国演义");
String name = ops1.get("name");
System.out.println(name);
ValueOperations ops2 = redisTemplate.opsForValue();
Book b1 = new Book();
b1.setId(1);
b1.setName("红楼梦");
b1.setAuthor("曹雪芹");
ops2.set("b1", b1);
Book book = (Book) ops2.get("b1");
System.out.println(book);
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------
三国演义
Book{id=1, name='红楼梦', author='曹雪芹'}
--------StringRedisTemplate是RedisTemplate的子类,StringRedisTemplate中的key,value都是字符串,采用序列化方案是StringRedisSerializer.而RedisTemplate则可用来操作对象。StringRedisTemplate和RedisTemplate都是通过opsForValue,opsForZSet或者opsForSet等方法首先获取一个操作对象,再使用访操作对象完成数据的读写
-
Redis集群整合spring boot
安装RVM工具
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
https://blog.csdn.net/qq_42815754/article/details/82912130
https://blog.csdn.net/liulianglin/article/details/120444446
卸载redis
- 停止redis对应实例的服务
查询服务
ps aux | grep redis
-
删除进程
kill -9 进程号
-
删除相关目录
删除redis的安装目录,此处目录是
rm -rf /usr/local/redis
删除redis服务脚本,以6379实例为主,
rm -rf /etc/init_d/redis_6379
删除redis配置文件,以6379实例说明,
rm -rf /etc/redis/6349.conf
删除/etc/profile中的redis_home,
rm -rf /etc/profile/redis_home
-
再次验证redis是否存在
# 第一种
ps aux | grep redis-server
# 第二种
netstat -tunple | grep 6379
redis集群
-----首先上面的4.0版的redis配置集群要安装rvm工具,现在centos中,rvm版本过底,要下载高版本(2.3以上)需要翻qiang。但5.0版本的redis可以直接用redis-cli(客户端工)创建。
部署主要步骤:
- 部署单机版redis
***首先:***下载redis.5.0x版本,复制链地址到CENTOS 8终端上,再解压,复制到/usr/local,并用mv重命名解压的根目录以便好用,进入根目录,输入make,make install。
wget https://download.redis.io/releases/redis-5.0.14.tar.gz
tax -zxvf redis-5.0.14.tar.gz
//安装所需tcl rpm包
rpm -qa|grep tcl //查看安装否tcl,如果有,不用,我这里有,如果没有则
rpm -ivh tcl-8.5.13-4.el7.x86_64.rpm --nodeps --force
mv redis-5.0.14 /usr/local/
cd /usr/local
mv redis-5.0.14 redis
yum -y install gcc gcc-c++
make
make install
***然后:***配置redis.conf
daemonizeyes
#bind 127.0.0.1
requirepass 123@456
protected-mode no
-----------------------------------------------------------------------------------------------------------------------------------------------
第1行配置表示允许Redis在后台运行
第2行配配置表示允许连接该Redis实例的地址,默认情况下只允许本地连接,将默认地址注释掉,外网就可以访问它了。
第3行配置表示登录该Redis的所需的密码
第4行配置,表示由于有第3行的密码登录,就可以不用保护了。
再后:关闭防火啬,进入bin目录下,启动服务和客户端,关闭服务
systemctl stop firewalld.service
systemctl disable firewalld.service
cd /usr/local/redis/bi