发布网友 发布时间:2022-04-26 07:46
共2个回答
懂视网 时间:2022-05-02 06:06
使用maven管理jar,添加依赖:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.0</version>
</dependency>//需要的jar
使用redis数据库的配置(设置属性的值,可以根据具体需要),存数据
JedisPool jedisPool = null;
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(10);
poolConfig.setMaxTotal(100);
poolConfig.setMaxWaitMillis(10000);
poolConfig.setTestOnBorrow(true);
jedisPool = new JedisPool(poolConfig, "192.168.0.109", 6379); //配置Jedis的配置,端口,服务器地址
存储过程
List<String> lines = Files.readAllLines(Paths.get("E:/oooooooo/task.txt"));//要存储的数据源,数据格式多为json形式的字符串
Jedis jedis = jedisPool.getResource();
jedis.select(3);// 3是指在把数据库上的分区,可以自由设置
Pipeline pipelined = jedis.pipelined();
lines.forEach(l -> {
pipelined.lpush(数据库名, l);
});
pipelined.sync(); //这段代码的作用是通过管道(Pipeline)批量存储到redis数据库
通过java获取redis上的数据
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(10);
poolConfig.setMaxTotal(500);
poolConfig.setMaxWaitMillis(100000);
poolConfig.setTestOnBorrow(true);
jedisPool = new JedisPool(poolConfig, 服务器地址, 端口, timeout, 数据库密码);
Jedis jedis = jedisPool.getResource();
jedis.select(3);// 3是指在把数据库上的分区,可以自由设置
String targetString = jedis.lpop(数据库名);;//targetString就是取出来的目标数据
jedisPool.returnResourceObject(jedis); //一顿操作之后,记得释放jedis的资源
java使用redis数据库
标签:pip lis 字符 read line wait 过程 pen cli
热心网友 时间:2022-05-02 03:14
redis算是用的最多的key-value型缓存组件了!
因为使用了key-value型,所以存取效率极好,简单来说就类似JAVA中的hashMap,不过是用整个服务器内存来当做map,但是redis的数据可以通过配置指令保存到硬盘(同步保存save,异步保存bgsave)!
redis是单线程模式,这能保证redis中存取的数据库绝对线程安全,同时,因为避免多线程之间切换的开销,redis的存取性能跟使用多线程的memcache在一定程度上旗鼓相当,都非常高的性能,不过redis的value支持G级别的数据,能用来存放大文本等,这是memcache不能做到的。。
为了进一步提升redis的稳定性和存取性能,redis支持集群,具体搭建方式,可参考我之前的一篇回答!
那么redis在实际的开发中,主要用来做什么呢?
1,数据存取:无需多说!
2,加锁:因为redis是单线程的,提供的比如incr,setnx等方法均可以用来当做锁使用!
3,秒杀系统:商品存队列,请求进来进行匹配,然后异步出单即可!
4,计数器:对同一个key的value计数即可!
5,超时问题:比如页面访问超时啥的,页面访问接口的时候持续更新某个设定值,超过某个时间段再访问,则超时!
当然,redis在使用过程中会存在持久化失败,缓存击穿,扩容困难等问题,不过无论如何,redis都是一款最值得用的缓存工具!
使用过程中有任何问题,欢迎大家一起交流,redis还有什么遗漏功能,也请大家补充,谢谢!