一、在虚拟机上安装redis基本命令步骤
打开虚拟机,VM安装步骤跟安装包在之前写过的教程有,在空白处右键打开终端
以切换到root用户登录,我这里密码是root
su root
回到根目录
进入opt目录下
安装gcc
yum install gcc-c++
获取redis资源
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
解压
tar xzvf redis-4.0.8.tar.gz
查看目录
执行make,发现问题(按照步骤来,正常情况下是没有问题的)
[root@Ubuntu redis-4.0.8]# make
cd src && make all
make[1]: 进入目录“/opt/redis-4.0.8/src”
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
#include <jemalloc/jemalloc.h>
^
删除文件夹然后重新解压
rm -rf redis-4.0.8
ls
tar xzvf redis-4.0.8.tar.gz
解压完成,然后重新进入文件夹
然后重新make
然后执行make install
make install
将在bin(是在usr/local/bin的bin目录)文件夹下面创建一个mconfig(自己命名的配置文件),将redis目录下的配置文件复制过来
mkdir mconfig #创建文件夹
cp /opt/redis-4.0.8/redis.conf mconfig #把redis-4.0.8目录下的redis.conf文件复制到刚刚创建的文件夹中
执行ls -l ,这个命令是除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
ls -l
然后修改配置文件
cd mconfig
ls
vim redis.conf
配置redis为后台启动
//将daemonize no 改成daemonize yes
命令(esc)是退出编辑模式,(:wq!)是保存并且退出
通过指定的配置文件启动服务
在bin目录下执行
redis-server mconfig/redis.conf
然后,输入redis客户端,端口号,进行ping,看下是否能够ping通
ls
redis-cli -p 6379
ping
进行简单的测试
查看所有的键
keys *
设置redis密码
127.0.0.1:6379> config set requirepass 123
密码验证
127.0.0.1:6379> auth 123
查询密码
127.0.0.1:6379> config get requirepass
关闭服务
SHUTDOWN
exit
重新启动服务
[root@Ubuntu bin]# redis-server mconfig/redis.conf
连接端口密码
redis-cli -p 6379 -a 123
打开另外一个终端查看服务
二、SpringBoot整合Redis
1、要想远程连接虚拟机的redis
编辑redis.conf,修改两个地方
vim redis.conf
注释掉bind 127.0.0.1
把protected-mode yes 改成 no
然后启用redis
2、创建springboot项目
第一步,使用脚手架创建
第二步,填写项目名
第三步,因为这里只是简单测试一下redis连接,所以暂时只选择两个依赖
目录结构
RedisController的代码
@RestController
@RequestMapping("/redis")
public class RedisController {
@Autowired
StringRedisTemplate stringRedisTemplate;
@GetMapping("/get")
public String MyRedis(){
ValueOperations ops=stringRedisTemplate.opsForValue();
// ops.set("name2","mmm");
// Object name=ops.get("name2");
Object name = ops.get("name");
return "测试名字:"+name;
}
}
application.properties
server.port=10010
# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址 (linux虚拟机的ip地址)
spring.redis.host=192.168.0.166
# Redis服务器连接端口
spring.redis.port=6379
#Redis服务器密码 (设置的reids密码)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=5000
启动类默认就可以了
启动
从虚拟机那里设置一个值
等下在Java那里进行调用
访问http://localhost:10010/redis/get
修改一下controller的代码,试一下set方法
@RestController
@RequestMapping("/redis")
public class RedisController {
@Autowired
StringRedisTemplate stringRedisTemplate;
@GetMapping("/get")
public String MyRedis(){
ValueOperations ops=stringRedisTemplate.opsForValue();
Object name = ops.get("name");
ops.set("age","20");
Object age = ops.get("age");
return "测试名字:"+name+":年龄:"+age;
}
}
重启端口访问
在虚拟机那里查看也可以了