java连接redis是数据库(redis在java项目中的使用)

发布日期:2024-05-19 16:24:20     手机:https://m.xinb2b.cn/baike/news63239.html    违规举报
核心提示:一、配置文件详解 俗话说的好呀:行家有木有!出手就知道啊!以前的学习只是为了让我们知道如何使用Redis ,但是我们作为开发人员,要知其所以然,所以我们得从根本上理解,我们来将Redis.conf文件仔细的学习一下,提升自我!放飞自我! 在

java连接redis是数据库(redis在java项目中的使用)

一、配置文件详解

俗话说的好呀:行家有木有!出手就知道啊!以前的学习只是为了让我们知道如何使用Redis ,但是我们作为开发人员,要知其所以然,所以我们得从根本上理解,我们来将Redis.conf文件仔细的学习一下,提升自我!放飞自我! 在实际工作中:一些小小的配置,可以让你脱颖而出!

    单位:Redis配置对大小写不敏感!

注意这里:任何写法都可,不区分大小写。

units are case insensitive so 1GB 1Gb 1gB are all the same.
    包含:搭建Redis集群时,可以使用includes包含其他配置文件
    网络:

解释如下所示:

bind 127.0.0.1 # 绑定的ip protected-mode yes # 保护模式 port 6379 # 端口设置
    通用GENERAL
daemonize yes # 以守护进程的方式运行,默认是 no,我们需要自己开启为yes! pidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要指定一个 pid 文件! # 日志 # Specify the server verbosity level. # This can be one of:# debug (a lot of information, useful for development/testing) # verbose (many rarely useful info, but not a mess like the debug level) # notice (moderately verbose, what you want in production probably) 生产环境 # warning (only very important / critical messages are logged)loglevel notice logfile "" # 日志的文件位置名 databases 16 # 数据库的数量,默认是 16 个数据库 always-show-logo yes # 是否总是显示LOGO
    快照(RDB):持久化,在规定的时间内,执行了多少次操作则会持久化到文件 .rdb .aof文件

Redis是内存数据库,如果没有持久化,那么数据断电即失!

# 如果900s内,如果至少有一个1 key进行了修改,我们及进行持久化操作 save 900 1 # 如果300s内,如果至少10 key进行了修改,我们及进行持久化操作 save 300 10 # 如果60s内,如果至少10000 key进行了修改,我们及进行持久化操作 save 60 10000 # 我们之后学习持久化,会自己定义这个测试!
    SECURITY 安全

可以在这里设置Redis的密码,默认是没有密码的。 ①通过命令设置

127.0.0.1:6379> pingPONG127.0.0.1:6379> config get requirepass #获取Redis的密码1) "requirepass"2) ""127.0.0.1:6379> config set requirepass "123456" #设置Redis的密码为123456OK# Ctrl+C 退出当前连接[root@dyjcomputer bin]# redis-cli -p 6379 #重新连接127.0.0.1:6379> ping #测试ping,失败,所有的命令都显示无权限(error) NOAUTH Authentication required. 127.0.0.1:6379> set k1 v1 #失败,所有的命令都显示无权限(error) NOAUTH Authentication required. 127.0.0.1:6379> auth 123456 #auth + 密码 登陆上去OK 127.0.0.1:6379> ping #正常PONG127.0.0.1:6379> config get requirepass #获取密码,正常1) "requirepass"2) "123456"

②通过修改配置文件设置,找到图示位置,添加密码

重启Redis测试!

127.0.0.1:6379> ping(error) NOAUTH Authentication required. 127.0.0.1:6379> auth 123456OK127.0.0.1:6379> pingPONG
    限制CLIENTS
maxclients 10000 #设置能连接上redis的最大客户端的数量 maxmemory <bytes> #redis 配置最大的内存容量 maxmemory-policy noeviction #内存到达上限之后的处理策略 1、volatile-lru:只对设置了过期时间的key进行LRU(默认值) 2、allkeys-lru : 删除lru算法的key 3、volatile-random:随机删除即将过期key 4、allkeys-random:随机删除 5、volatile-ttl : 删除即将过期的 6、noeviction : 永不过期,返回错误
    APPEND onLY 模式 aof配置(持久化保存)
appendonly no #默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用! appendfilename "appendonly.aof" #持久化的文件的名字 # appendfsync always # 每次修改都会 sync。消耗性能 appendfsync everysec # 每秒执行一次 sync,可能会丢失这1s的数据! # appendfsync no #不执行 sync,这个时候操作系统自己同步数据,速度最快! 二、Jedis操作Redis

百度的概念性解答我就不贴了,简单来说,Jedis是Redis官方推荐的Java连接开发工具! 虽然现在的SpringBoot2.×版本已经将Jedis换成了Lettuce,但是我觉得还是有必要了解一下Jedis的使用!

    如何在java项目中整合Jedis并且连接Redis数据库?

①创建一个Maven项目

空的即可~怎么创建我就不赘述了!

②导入Jedis和fastjson依赖,耐心等待下载完成!

<!--导入jedis的包--><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version></dependency> <!--fastjson--><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency>

③连接Redis测试,此处为了方便测试,连接的是本地的Redis服务,连接远程需要更改配置文件和关闭防火墙,以后会单独弄一篇文章来介绍这个!

// 1、 new Jedis 对象即可Jedis jedis = new Jedis("127.0.0.1",6379);// jedis 所有的命令就是我们之前的所有指令System.out.println(jedis.ping());

如图所示:

返回PONG,证明连接成功!

④常用的API练习:

// 1、 new Jedis 对象即可 Jedis jedis = new Jedis("127.0.0.1",6379); jedis.flushDB();//清空当前库的所有数据 jedis.set("name","dingyongjun"); jedis.set("age","23"); jedis.set("high","173"); System.out.println("name:"+jedis.get("name")+"nage:"+jedis.get("age")+"nhigh"+jedis.get("high"));

如图所示:

jedis.lpush("list","1","2","3","4"); System.out.println("list: "+jedis.lrange("list",0,-1));

如图所示:

⑤总结:在Jedis中连接使用Redis,和Redis控制台命令完全一致,我就不一个个命令再去重复写一遍了,后面如果有时间的话,我会把所有的命令给慢慢完善上来!

 
 
本文地址:https://www.xinb2b.cn/baike/news63239.html,转载请注明出处。

推荐图文
推荐百科经验
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.107 second(s), 91 queries, Memory 0.47 M