使用Java代码操作Redis

Java访问Redis详解
本文详细介绍如何使用Java连接和操作Redis数据库,包括添加依赖、连接配置、常见数据类型操作及持久化策略。探讨了rdb与aof两种持久化方式的区别及应用场景,适合Java开发者深入理解Redis的使用。
  1. Java访问redis
    2.1 添加依赖

    redis.clients
    jedis
    2.9.0

2.2 Java连接redis
Jedis jedis = new Jedis(ip, port);
jedis.auth(“123456”);//权限认证
jedis.ping();
jedis.select(0);//切换数据库

2.3 Java操作redis
string(字符串)
hash(哈希)
list(列表)
set(集合)
zset(sorted set:有序集合)
zadd/zrevrange

注1:不需要记得API的方法,只需要查redis命令

2、redis持久化
rdb
aop
问题:
1、redis的数据何时消失
2、何时redis与mysql数据会同步一次
redis默认采取的是rdb持久方式
rdb持久化策略:
比如说redis存储了1000个key,当其中100key对应的值在60s发生了改变,那么久将redis与
mysql的数据进行同步一次。同步的机制,在redis.confg中进行设置

aof持久化策略
redis每改变内存中一条数据,就会将内存与mysql数据同步一次,并且记录日志。安全性更高,
数据不易丢失

rdb与aof结合使用

3、redis集群(单机多节点集群,多台Linux机器集群)
主从模式

redis集群最少要三台主机(多台机器集群)
通常公司会至少使用6台(主从模式)

在不使用集群时:是将所有静态数据放到一台Linux主机的内存中。
当数据量过大,一台机器的内存不足。那么会采用多台机器进行分散存储,将多台机器进行集群。

回顾:
redis简介(基于内存存储、持久化特点、集群的概念)
redis的安装
redis server
gcc
通过网址从网上下载redis的Linux版本进行安装
解压 tat -xvf 。。。。
进到解压路径 通过make对该目录进行编译

可启动redis(启动后是不可再输入其他Linux命令)
需要修改redis.conf文件,设置为守护进程。

./src/redis-server redis.conf
./src/redis-cli
如果说左下角出现127.0.0.1,意味着redis安装成功

redis cli
redisdesktopmanager安装
装上了之后redis客户不能直接连接Linux上的redis
1、#bind 127.0.0.1
2、设置访问权限(123456)
3、开放防火墙端口

redis存取值的五种形式
string、hash、list、set、zset

Java操作Redis的散列表(Hash),通常使用Jedis库,它是一个广泛使用Java连接Redis的库。散列表(Hash)是Redis中的一种数据结构,它存储了字段(field)和值之间的映射,但字段和值都是字符串类型。这种数据结构适合存储对象的属性。以下是一个简单的示例,展示如何使用Jedis库操作Redis散列表: ```java import redis.clients.jedis.Jedis; public class RedisHashExample { public static void main(String[] args) { // 创建一个Jedis对象实例,这里的"localhost"是Redis服务器地址,6379是Redis服务的默认端口号 Jedis jedis = new Jedis("localhost", 6379); // 检查连接是否成功 System.out.println("连接成功与否:" + jedis.ping()); // 操作散列表 String hashKey = "user:1000"; // 假设我们的散列表键是"user:1000" // 设置散列表的字段和值 jedis.hset(hashKey, "name", "Alice"); jedis.hset(hashKey, "age", "30"); jedis.hset(hashKey, "country", "Wonderland"); // 获取散列表中某个字段的值 String name = jedis.hget(hashKey, "name"); System.out.println("Name is: " + name); // 获取散列表中所有字段和值 Map<String, String> fields = jedis.hgetAll(hashKey); System.out.println("Fields are: " + fields); // 更新散列表的字段值 jedis.hset(hashKey, "age", "31"); // 删除散列表中的某个字段 jedis.hdel(hashKey, "country"); // 关闭连接 jedis.close(); } } ``` 在这个例子中,首先创建了一个`Jedis`对象来连接到Redis服务器。然后使用`hset`方法来设置散列表的字段和值,`hget`方法获取指定字段的值,`hgetAll`方法获取散列表中所有字段和值,`hdel`方法删除散列表中的某个字段。最后,不要忘记关闭连接。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值