Redis 简介
Redis(Remote Dictionary Server)是一个开源的内存数据库,属于 NoSQL 数据库的一种。它以高性能、支持丰富的数据结构以及多种数据持久化方式而著称,常被用作缓存、消息队列系统和实时数据分析等场景。
Redis 的主要特点包括:
- 内存存储:数据存储在内存中,读写速度非常快。
- 数据结构丰富:支持字符串、哈希表、列表、集合、有序集合等数据结构。
- 持久化支持:支持异步数据持久化到磁盘,以及通过快照和日志追加方式实现数据持久化。
Java 使用 Jedis 操作 Redis
在 Java 中,要与 Redis 进行交互,常用的库是 Jedis,它是 Redis 官方推荐的 Java 客户端。以下是使用 Jedis 操作 Redis 的基本步骤和示例代码:
-
引入 Jedis 依赖
首先,需要在项目中引入 Jedis 的依赖。如果使用 Maven,可以在
pom.xml
中添加以下依赖:<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.10.0</version> </dependency>
-
连接 Redis 服务器
使用 Jedis 连接 Redis 服务器的基本方法如下(本机):
-
import redis.clients.jedis.Jedis; public class JedisAPI { private static JedisPool jedisPool; static { //创建并设置连接池配置对象 JedisPoolConfig config=new JedisPoolConfig(); config.setMaxTotal(50); config.setMaxIdle(10); config.setMinIdle(7); config.setMaxWaitMillis(1000); config.setTestOnBorrow(true); //创建Jedis连接池 jedisPool=new JedisPool(config,"localhost",6379,10000,"123456",0); } }
-
常用操作示例
下面是一些常见的 Redis 操作示例,使用 Jedis 提供的方法:
-
设置键值对
jedis.set("key1", "value1");
-
获取键对应的值
String value = jedis.get("key1"); System.out.println("key1 的值为: " + value);
-
操作哈希表
jedis.hset("user", "name", "Alice"); jedis.hset("user", "age", "30"); String userName = jedis.hget("user", "name"); System.out.println("用户姓名为: " + userName);
-
操作列表
jedis.lpush("list", "item1", "item2", "item3"); List<String> listItems = jedis.lrange("list", 0, -1); for (String item : listItems) { System.out.println("列表项: " + item); }
-
-
关闭连接
使用完 Redis 后,需要关闭 Jedis 连接,释放资源:
public void destory(){ if(!(jedisPool == null || jedisPool.isClosed())){ jedisPool.close();//关闭连接池 } }
Redis 是一个高性能、多功能的内存数据库,通过 Jedis ,Java 开发者可以方便地与 Redis 进行交互操作
安装Redis
Windows系统安装Redis
1、修改配置
修改Redis配置文件(服务模式启动)redis.windows-service.conf
,前台方式启动时使用的配置文件为redis.windows.conf
bind 127.0.0.1 ::1 # 将本地地址绑定注释掉,否则不能远程连接
port 6379 # 配置监听端口
daemonize yes # 开启后台模式
pidfile /var/run/redis_6379.pid # 指定pid文件位置
protected-mode yes # 开启受保护模式
requirepass 123456# 设置鉴权密码
2、安装服务
redis-server --service-install redis.windows-service.conf --loglevel verbose
3、启动服务
redis-server --service-start
4、启动客户端连接
redis-cli
如果设置了密码(保护模式)登录后执行以下命令输入密码:
auth pass
或者使用带参数的方式启动redis-cli
客户端:
redis-cli -h your_hostname -p 6379 -a your_auth
注:配置文件redis.windows-service.conf
中找到如下两项修改
protected-mode yes # 是否开启密码模式
requirepass lilibo # 设置密码
5、停止Redis服务(根据需要使用)
redis-server --service-stop
6、卸载Redis服务(根据需要使用)
redis-server --service-uninstall
Linux系统安装Redis (Docker)
使用VMware虚拟机装载CentOS7系统,配置虚拟机静态IP,安装Dokcer容器,拉取redis的镜像,实例化镜像到Docker容器,配置redis的相关设置
注意:配置静态IP需要在VM8的网络适配中配置相应手动获取ip地址,否则物理机是ping不通虚拟机的,ip地址和网关要在同一网段,不要一模一样
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
https://docs.docker.com/engine/reference/commandline/docker/
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
实例化redis镜像并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
docker exec -it redis redis-cli