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

java与redis连接过程中遇到问题,第1张

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

文章目录
  • java与redis连接过程中遇到问题
  • 前言
  • 一、redis是什么
    • 特征
  • 二、命令
    • 1.redis通用命令
    • String类型常见命令
    • Hash常用命令
    • List常见命令
    • Set常见命令
  • 三、java与redis连接过程中有可能遇到的问题
    • 1. Redis (error) NOAUTH Authentication required
    • 2.DENIED Redis is running in protected mode because protected mode is enabled....


前言

一次偶然的机会看到位博主的文章用两天实现了某某管理系统利用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 进程号

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/876576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存