Java操作Redis DB的例子

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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]

相关文章
|
22天前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
180 1
Redis-常用语法以及java互联实践案例
|
10天前
|
NoSQL 数据可视化 Redis
redis上db复制的方法
首先排除使用命令行实现,因为没有现成的命令可以完成db复制,跨redis实例的复制迁移就更加没有这种命令了。假如非要使用命令来实现,要写大量的脚本,但是这样可靠性和速度无法保证,因为你无法保证你写的程序是否会有bug。db的复制,可以使用yunedit-redis来实现,yunedit-redis有可视化界面,复制起来非常简单。
|
4月前
|
缓存 监控 NoSQL
Redis 实操要点:Java 最新技术栈的实战解析
本文介绍了基于Spring Boot 3、Redis 7和Lettuce客户端的Redis高级应用实践。内容包括:1)现代Java项目集成Redis的配置方法;2)使用Redisson实现分布式可重入锁与公平锁;3)缓存模式解决方案,包括布隆过滤器防穿透和随机过期时间防雪崩;4)Redis数据结构的高级应用,如HyperLogLog统计UV和GeoHash处理地理位置。文章提供了详细的代码示例,涵盖Redis在分布式系统中的核心应用场景,特别适合需要处理高并发、分布式锁等问题的开发场景。
292 40
|
6月前
|
NoSQL Java API
在Java环境下如何进行Redis数据库的操作
总的来说,使用Jedis在Java环境下进行Redis数据库的操作,是一种简单而高效的方法。只需要几行代码,就可以实现复杂的数据操作。同时,Jedis的API设计得非常直观,即使是初学者,也可以快速上手。
278 94
|
4月前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
203 6
|
8月前
|
Linux 网络安全 Docker
尼恩一键开发环境: vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
尼恩提供了一系列文章,旨在帮助开发者轻松搭建一键开发环境,涵盖Java分布式、高并发场景下的多种技术组件安装与配置。内容包括但不限于Windows和CentOS虚拟机的安装与排坑指南、MySQL、Kafka、Redis、Zookeeper等关键组件在Linux环境下的部署教程,并附带详细的视频指导。此外,还特别介绍了Vagrant这一虚拟环境部署工具,
尼恩一键开发环境: vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
|
8月前
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
409 30
|
9月前
|
NoSQL 算法 Java
Java Redis多限流
通过本文的介绍,我们详细讲解了如何在Java中使用Redis实现三种不同的限流策略:固定窗口限流、滑动窗口限流和令牌桶算法。每种限流策略都有其适用的场景和特点,根据具体需求选择合适的限流策略可以有效保护系统资源和提高服务的稳定性。
188 18
|
存储 SQL 缓存
Java-Redis笔记
  Redis   1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库   1.1.什么是NOSQL   NoSQL(NoSQL=Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。   随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
182 0
|
5月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?