0
点赞
收藏
分享

微信扫一扫

redis的简介,Linux安装redis以及jedis的使用

老榆 2022-03-21 阅读 40

一、什么是redis?

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

普通的前后端、数据库的交互模型
在这里插入图片描述
这种模型的缺点是,当后端请求达到很高的数量级时,会发生严重的阻塞,影响用户的操作体验,优化方式可以是用多线程处理数据库的增删改查操作。
也可以使用redis高速缓存,在查询数据库之前先检测缓存中有没有已存在的相应内容,如果有就直接返回,不需要经过数据库查询。
redis高速缓存的前后端交互模型
在这里插入图片描述
二、Linux安装redis
1、安装redis make有错,gcc版本低的原因

yum -y install centos-release-scl
 
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
 
scl enable devtoolset-9 bash
 
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
 
gcc -v

2、安装redis
使用wget下载并解压

wget http://download.redis.io/releases/redis-6.0.8.tar.gz
tar xzf redis-6.0.8.tar.gz
cd redis-6.0.8
make

执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:

进入src中启动服务

cd src
./redis-server

注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。

./redis-server ../redis.conf

启动 redis 服务进程后,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了。:

./redis-cli

3、本机测试连接redis
本机测试连接redis,默认端口6379

telnet 服务器公网ip 6379

telnet命令不是内部命令,需要单独安装
linux中查看6379端口是否开放

lsof -i:3306

4、redis修改保护模式

修改配置文件redis.conf,将NETWORK下的protected-mode yes
修改为protected-mode no,然后重启服务
# 注释本地连接
# bind 127.0.0.1
# 保护模式改为no
protected-mode no
重启服务
./redis-server ../redis.conf

三、java连接redis

引入maven坐标依赖

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.3.0</version>
</dependency>

连接redis

//连接Redis 服务
 Jedis jedis = new Jedis("ip");
 // 如果 Redis 服务设置了密码,需要下面这行,没有就不需要
 // jedis.auth("123456"); 
 System.out.println("连接成功");
 //查看服务是否运行
 System.out.println("服务正在运行: "+jedis.ping());
  jedis.set("key","ssss");
        System.out.println("result=" + result);
       if(jedis.get("user")!=null){
           System.out.println("登录成功");
       }else {
           System.out.println("去登录");
       }
 //关闭Redis服务
 jedis.close();

Redis Java String(字符串) 实例

//连接Redis 服务
Jedis jedis = new Jedis("ip");
System.out.println("连接成功");
//设置 redis 字符串数据
jedis.set("runoobkey", "www.runoob.com");
// 获取存储的数据并输出
System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));
//关闭Redis服务
 jedis.close();

Redis Java List(列表) 实例

//连接Redis 服务
 Jedis jedis = new Jedis("ip");
 System.out.println("连接成功");
 //存储数据到列表中
 jedis.lpush("site-list", "Runoob2");
 jedis.lpush("site-list", "Google");
 jedis.lpush("site-list", "Taobao");
 System.out.println("保存或者更新成功");
 // 获取存储的数据并输出
 List<String> list = jedis.lrange("site-list", 0 ,2);
 for(int i=0; i<list.size(); i++) {
 System.out.println("列表项为: "+list.get(i));
 }
 //关闭Redis服务
 jedis.close();

Redis Java Keys 实例(获取缓存中的所有的key)

//连接Redis 服务
Jedis jedis = new Jedis("ip");
System.out.println("连接成功");

// 获取数据并输出
Set<String> keys = jedis.keys("*"); 
Iterator<String> it=keys.iterator() ;   
while(it.hasNext()){   
String key = it.next();   
System.out.println(key);   
}
//关闭Redis服务
jedis.close();
举报

相关推荐

0 条评论