IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> java与redis连接过程中遇到问题 -> 正文阅读

[大数据]java与redis连接过程中遇到问题

java与redis连接过程中遇到问题



前言

一次偶然的机会看到位博主的文章用两天实现了某某管理系统利用redis,对这个知识点产生了好奇,并且现在很多招聘信息基本都有需要掌握redis,所有跟着学习学习


提示:以下是本篇文章正文内容,下面案例可供参考

一、redis是什么

Redis是一个基于内存的键值内心的键值型NoSQL数据库

特征

  • 键值型(key-value),value支持多种不同的数据类型

  • 单线程,每条命令具有原子性

  • 低延迟,速度快(基于内存,IO多路复用,良好的编码)

  • 支持数据持久化

  • 支持主从集群,分片集群

  • 支持多语言客户端

二、命令

1.redis通用命令

  • KEYS 查看符合模板的所有key

  • DEL 删除一个指定的Key

  • EXISTS 判断是否存在

  • EXPIRE 给一个key设置一个有效期,超出有效期自动被删除

  • TTL 查看有效期 有效期等于-2为已删除,有效期等于-1删除

String类型常见命令

  • set : 添加或修改已存在的一个String类型的键值对 格式:[set key value]

  • get:根据key获取String类型的value 格式:[get key]

  • mset 批量添加多个String类型的键值对 格式:[mset key value [key value…]]

  • mget 批量查看多个key获取多个String类型的value 格式:[mget key [key…]]

  • INCR 让一个整数的key自增1 格式: [incr key]

  • INCRBY 让一个整型的key自增并指定步长 格式:[incrby key n]

  • INCRBYFLOAT 让一个浮点类型的数字自增并指定步长, 格式:[incrbyfloat key n]

  • SETNX: 添加一个String类型的键值对,前提是这个key不存在,否则不执行 格式:[setnx key vlaue ]

  • SETEX : 添加一个String类型的键值对,并且指定有效期 格式:[setnx key seconds value]

Hash常用命令

  • hset 给集合中的对应的键赋值
  • hget 从key集合filed取出value
  • hmset 批量设置hash值
  • hexists 给定域 field 是否存在
  • hkeys 列出该hash集合的所有field
  • hvals 列出该hash集合的所有value
  • hincrby 为哈希表 key 中的域 field 的值加上增量 1
  • hsetnx 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在

List常见命令

lpush/rpush 从左边/右边插入一个或多个值。 格式 [ lpush/rpush key value1 value2 value3 ]
lpop/rpop 从左边/右边取出一个值。当值全部被取出后,对应的键也被删除。格式:[lpop/rpop key ]
rpop lpush 列表右边取出一个值,插到key2列表左边。
lrange 按照索引下标获得元素(从左到右),start和stop分别为0和-1时表示获取所有元素值。格式[lrange key start stop ]
lindex 按照索引下标获得元素(从左到右)
lrem 从左边删除n个value(从左到右)
lset 将列表key下标为index的值替换成value

Set常见命令

sadd 将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略 格式:[sadd key value1 value2 ]
smembers : 取出该集合的所有值。
sismember : 判断集合 key 是否为含有该value 值,有1,没有0
scard : 返回该集合的元素个数。格式:[scard key]
srem : 删除集合中的某个元素 格式: [srem key value1 value2 ]
spop : 随机从该集合中吐出一个值。
srandmember: 随机从该集合中取出n个值。不会从集合中删除 。格式: [ srandmember key n ]

三、java与redis连接过程中有可能遇到的问题

1. Redis (error) NOAUTH Authentication required

这个是因为没有没有输入密码,导致的错误 ,在Java程序中添加即可
注意我的密码位redis123456,如果忘记了密码或者不知道如何设置,可用进入redis.conf里设置。

jedis.auth("redis123456");

2.DENIED Redis is running in protected mode because protected mode is enabled…

错误全体是这个

DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command ‘CONFIG SET protected-mode no’ from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to ‘no’, and then restarting the server. 3) If you started the server manually just for testing, restart it with the ‘–protected-mode no’ option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

错误的中英文翻译在这
在这里插入图片描述

遇到这个错误,需要检查redis.conf配置文件里三个属性

#bind 127.0.0.1 #  只能本地连接,要注释即可
daemonize no   #要把yes改为no
关掉保护模式
protected-mode no 

最关键的是让配置文件起作用,如果重启redis无效果,则可以试试下面的命令

redis-server redis.conf 
# 注意需要在检索到这两个文件目录下操作redis-server  redis.conf
#如果在操作前redis还在后台打开这用下面的命令重启
  ps axu|grep redis
  kill -9 进程号
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:30:44  更:2022-05-11 16:32:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:57:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码