目录
一、redis部署
二、redis配置
三、idea中操作redis 键
Redis是一个开源、跨平台的数据库,因此Redis数据库可以运行在Windows、Linux、Mac OS和BSD(Unix的衍生系统)等多个平台上,为我们提供数据库服务。不同的操作系统平台,部署Redis也会有所不同。
本文我们在linux中部署redis。
1.下载redis安装包
链接:https://pan.baidu.com/s/1f-ithqYutFo94KlJDyUHcg?pwd=9629
提取码:9629
6.0.10版本的redis需要的可以提取。
下载成功后使用xshell或者其他方式上传到linux中。
2.解压
tar -zvxf redis-6.0.10.tar.gz /usr/local/redis
redis习惯性的放在/usr/local/redis下,当然你也可以自己定义。
3.编译
安装gcc
yum -y install gcc automake autoconf libtool make
显示Complete或者完成则说明安装成功。
重新执行make命令
若仍出现错误升级gcc
[root@nosql01 redis-6.0.10]# gcc -v # 查看gcc版本
[root@nosql01 redis-6.0.10]# yum -y install centos-release-scl # 升级到9.1版本
[root@nosql01 redis-6.0.10]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
[root@nosql01 redis-6.0.10]# scl enable devtoolset-9 bash
重新执行make
仍然报错试试
make MALLOC=libc
4.安装
make PREFIX=/usr/local/redis-6.0.10 install
其中PREFIX为安装目录
最后显示src的一个路径则说明安装成功。
5.启动
在redis的安装目录下执行
./bin/redis-server ./redis.conf
显示如下则说明启动成功。
设置远程服务器的ip地址,启动redis后台守护进程,启用身份认证。
执行如下命令进入配置文件
vi redis.conf
1.找到bind 127.0.0.1 这里我们改为0.0.0.0
bind:是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。
如果指定了bind,则说明只允许来自指定网卡的Redis请求。如果没有指定,就说明可以接受来自任意一个网卡的Redis请求。
2.找到demonize no 修改为 yes
daemonize 是用来指定redis是否要用守护线程的方式启动。
当我们采用yes时,redis会在后台运行,此时redis将一直运行,除非手动kill该进程。
而采用no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出
3.找到protected-mode 修改为no
protected-mode,它直译为保护模式。
如果设置为yes,那么只允许我们在本机的回环连接,其他机器无法连接。
4.找到requirepass 后面为自己的密码
requirepass 显而易见就是设置密码,如果不设置密码的话对我们的数据库来说不安全,所以我们设置密码开启安全认证。
添加依赖
redis.clients
jedis
3.2.0
com.alibaba
fastjson
1.2.62
junit
junit
4.12
(1)连接Redis数据库,并显示“成功连接数据库!”的提示;
//连接本地的 Redis 服务
Jedis jedis = new Jedis("0.0.0.0", 6379);
String response = jedis.ping();
public static void main(String[] args) {
System.out.println("成功连接数据库");
}
结果如图所示:
(2)创建键;
@Test
public void setTest() {
String key = jedis.set("company", "itcast");
System.out.println("key:"+key);
}
结果如图所示
(3)为多个键设置值;
@Test
public void msSetTest() {
String manyKey = jedis.mset("color1", "red",
"color2", "blue", "color3", "green", "color4", "black", "color5", "yellow");
System.out.println("manyKey:"+manyKey);
}
结果如图所示
(4)获取多个键的对应值;
@Test
public void mgetTest(){
List values = jedis.mget("color1","color2","color3");
for(String value:values){
System.out.println(value);
}
}
结果如图所示:
(5)修改指定键的名称;
@Test
public void renameTest(){
String rename = jedis.rename("new_company","company_new");
System.out.println("rename:"+rename);
}
结果如图所示:
(6)删除指定键。
@Test
public void delTest(){
Long result = jedis.del("company_new");
System.out.println("del:"+result);
}
结果如图所示