Java操作Redis DB的例子

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

package org.jack.redis;

import java.util.HashMap;  

import java.util.List;  

import java.util.Map;  

import redis.clients.jedis.Jedis;  

  

public class RedisTest {  

    public static void main(String[] args) {  

          

        //连接redis服务  :第一个参数是redis的IP,第二个参数是redis访问端口

        Jedis jedis = new Jedis("192.168.2.118",6379);  

          

        //密码验证-如果你没有设置redis密码可不验证即可使用相关命令   

        //jedis.auth("");  

          

        //简单的key-value 存储   

        jedis.set("redis", "myredis");  

        System.out.println(jedis.get("redis"));  

          

        //在原有值得基础上添加,如若之前没有该key,则导入该key   

        //之前已经设定了redis对应"myredis",此句执行便会使redis对应"myredisyourredis"   

        jedis.append("redis", "yourredis");     

        jedis.append("content", "rabbit");  

          

        //mset 是设置多个key-value值   参数(key1,value1,key2,value2,...,keyn,valuen)   

        //mget 是获取多个key所对应的value值  参数(key1,key2,key3,...,keyn)  返回的是个list   

        jedis.mset("name1","yangw","name2","demon","name3","elena");  

        System.out.println(jedis.mget("name1","name2","name3"));  

          

        //map   

        Map<String,String> user = new HashMap<String,String>();  

        user.put("name", "cd");  

        user.put("password", "123456");  

        //map存入redis   

        jedis.hmset("user", user);  

        //mapkey个数   

        System.out.println(String.format("len:%d", jedis.hlen("user")));  

        //map中的所有键值   

        System.out.println(String.format("keys: %s", jedis.hkeys("user") ));  

        //map中的所有value   

        System.out.println(String.format("values: %s", jedis.hvals("user") ));  

        //取出map中的name字段值   

        List<String> rsmap = jedis.hmget("user", "name","password");  

        System.out.println(rsmap);  

        //删除map中的某一个键值 password   

        jedis.hdel("user", "password");  

        System.out.println(jedis.hmget("user", "name", "password"));  

          

        //list   

        jedis.del("listDemo");  

        System.out.println(jedis.lrange("listDemo", 0, -1));  

        jedis.lpush("listDemo", "A");  

        jedis.lpush("listDemo", "B");  

        jedis.lpush("listDemo", "C");  

        System.out.println(jedis.lrange("listDemo", 0, -1));  

        System.out.println(jedis.lrange("listDemo", 0, 1));  

          

        //set   

        jedis.sadd("sname", "wobby");  

        jedis.sadd("sname", "kings");  

        jedis.sadd("sname", "demon");  

        System.out.println(String.format("set num: %d", jedis.scard("sname")));  

        System.out.println(String.format("all members: %s", jedis.smembers("sname")));  

        System.out.println(String.format("is member: %B", jedis.sismember("sname", "wobby")));  

        System.out.println(String.format("rand member: %s", jedis.srandmember("sname")));  

        //删除一个对象   

        jedis.srem("sname", "demon");  

        System.out.println(String.format("all members: %s", jedis.smembers("sname")));        

    }  

}  

 

myredis

[yangw, demon, elena]

len:2

keys: [password, name]

values: [cd, 123456]

[cd, 123456]

[cd, null]

[]

[C, B, A]

[C, B]

set num: 3

all members: [wobby, kings, demon]

is member: TRUE

rand member: kings

all members: [wobby, kings]

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
27 10
|
4天前
|
缓存 NoSQL Java
使用Redis进行Java缓存策略设计
【4月更文挑战第16天】在高并发Java应用中,Redis作为缓存中间件提升性能。本文探讨如何使用Redis设计缓存策略。Redis是开源内存数据结构存储系统,支持多种数据结构。Java中常用Redis客户端有Jedis和Lettuce。缓存设计遵循一致性、失效、雪崩、穿透和预热原则。常见缓存模式包括Cache-Aside、Read-Through、Write-Through和Write-Behind。示例展示了使用Jedis实现Cache-Aside模式。优化策略包括分布式锁、缓存预热、随机过期时间、限流和降级,以应对缓存挑战。
|
9天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
16 0
|
12天前
|
存储 缓存 NoSQL
Java手撸一个缓存类似Redis
`LocalExpiringCache`是Java实现的一个本地缓存类,使用ConcurrentHashMap存储键值对,并通过ScheduledExecutorService定时清理过期的缓存项。类中包含`put`、`get`、`remove`等方法操作缓存,并有`clearCache`方法来清除过期的缓存条目。初始化时,会注册一个定时任务,每500毫秒检查并清理一次过期缓存。单例模式确保了类的唯一实例。
11 0
|
23天前
|
存储 NoSQL Java
Redis 数据结构操作入门
Redis 数据结构操作入门
15 0
|
23天前
|
缓存 NoSQL Java
Java项目:支持并发的秒杀项目(基于Redis)
Java项目:支持并发的秒杀项目(基于Redis)
26 0
|
29天前
|
自然语言处理 Java
这是什么操作?java中的变量竟然可以先使用后声明?
这是什么操作?java中的变量竟然可以先使用后声明?
14 0
|
29天前
|
SQL Java
使用java中的String类操作复杂的字符串
使用java中的String类操作复杂的字符串
9 0
|
30天前
|
Java
java操作字符串
java操作字符串
9 1
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?