首页 > 数据库 >Redis

Redis

时间:2024-09-10 11:04:30浏览次数:9  
标签:127.0 0.1 Redis redis cluster 16000 hello

Redis 单机

最简配置

redis.conf

port 16000
protected-mode yes
requirepass hello
logfile "logs/16000.log"
daemonize yes
appendonly yes

Java 连接

依赖Jedis

implementation 'redis.clients:jedis:5.1.2'

这里的用户默认就是default,你也可以传null, 密码是 requirepass配置里的

  1. Redis ACL参考, 包括用户的添加 权限管理
try (JedisPooled jedis = new JedisPooled("localhost", 16000, null, "hello")) {
    String value = jedis.get("foo");
    logger.info("Value of foo is: {}", value);
} catch (Exception e) {
    logger.error("Error", e);
}

相当于

redis-cli -p 16000 -a hello

#或者
redis-cli -p 16000
AUTH hello
(AUTH defaut hello)

Redis 集群

最简配置

redis 集群至少需要3台redis进程才能组建,如下配置至少要配3份。

port 16000
protected-mode yes
requirepass hello
logfile "/logs/16000.log"
daemonize yes
appendonly yes

#Cluster
cluster-enabled yes
cluster-config-file nodes_160000.conf

组建redis cluster

redis-cli --cluster create 127.0.0.1:16000 127.0.0.1:16001 127.0.0.1:16002 --cluster-replicas 0 -a hello

如果你想要 --cluster-replicas 1 各有一个备份, 那么你至少需要6个redis进程。

redis-cli --cluster create 127.0.0.1:16000 127.0.0.1:16001 127.0.0.1:16002 127.0.0.1:16003 127.0.0.1:16004 127.0.0.1:16005 --cluster-replicas 1 -a hello

redis在组建是会自动分配哪些是备份哪些是master

在使用redis-cli连接时,你可以连其中任意一台,但需要指定 -c参数
redis-cli -c -p 16001 -a hello

详细参考

  1. create-and-use-a-redis-cluster

Java 连接

依赖Jedis

  public static void clusterReids() {
    Set<HostAndPort> nodes = new HashSet<>();
    nodes.add(new HostAndPort("localhost", 16000));
    nodes.add(new HostAndPort("localhost", 16001));
    nodes.add(new HostAndPort("localhost", 16002));

    try (JedisCluster jedis = new JedisCluster(nodes, null, "hello")) {
      String value = jedis.get("foo");
      logger.info("Value of foo is: {}", value);
      jedis.set("foo", "123");
    } catch (Exception e) {
      logger.error("Error", e);
    }
  }

标签:127.0,0.1,Redis,redis,cluster,16000,hello
From: https://www.cnblogs.com/qwsdcv/p/18406023

相关文章

  • redis 正则匹配符合条件的key 进行删除
    //根据名字的key,如果key数量超过100,就进行一次删除publicintclearRedis(@PathVariable("prefix")Stringprefix)throwsIOException{ScanOptionsoptions=ScanOptions.scanOptions().match(prefix+"*").count(1000).build();Cursorcursor=r......
  • 第20篇 window系统安装Redis流程
    1.下载RedisforWindowsRedis官方并没有提供Windows版本的安装包,但你可以使用Microsoft维护的Windows版本的Redis。你可以从以下链接下载RedisforWindows:2.安装Redis运行安装程序:双击下载的.msi文件,启动安装程序。按照安装向导的提示进行安装。这里记得......
  • 使用Redis来处理高并发问题
    设计理念:限流:鉴于只有少部分用户能够秒杀成功,所以要限制大部分流量,只允许少部分流量进入服务后端。削峰:对于秒杀系统瞬时会有大量用户涌入,所以在抢购一开始会有很高的瞬间峰值。高峰值流量是压垮系统很重要的原因,所以如何把瞬间的高流量变成一段时间平稳的流量也是设计秒杀系统......
  • redis 常用数据类型和常用命令
    一、数据类型在Redis中命令不区分大小写,但key是区分大小写的,帮助命令如下:helpcommandhelp@group解释:group是指数据类型,比如string、hash,这样就会把关于字符串或者是hash数据类型的所有命令列出来redis有十大数据类型,本文介绍常用的六种。1.1、string在一个字符串中存储......
  • redis常用知识汇总(包括 jedis 和 springboot 整合 redis)
    介绍Redis是一个开源的内存数据库,它支持多种数据结构,并且常用于高速缓存、会话管理、消息队列等场景。Redis的全称是RemoteDictionaryServer,是一种key-value(键值对)存储系统,能够以极高的性能处理大量数据的读写操作。Redis的主要特点:基于内存:数据存储在内存中,具有极高的......
  • redis常用知识汇总(包括 jedis 和 springboot 整合 redis)
    介绍Redis是一个开源的内存数据库,它支持多种数据结构,并且常用于高速缓存、会话管理、消息队列等场景。Redis的全称是RemoteDictionaryServer,是一种key-value(键值对)存储系统,能够以极高的性能处理大量数据的读写操作。Redis的主要特点:基于内存:数据存储在内存中,具有......
  • Redis分布式锁
    线程安全->锁,多线程并发执行的时候,执行先后的顺序,不确定,随机性->需要保证程序在任意执行顺序下,执行逻辑都是ok的,之前学过的锁,mutex,synchronized本质上只能在一个进程内部生效,分布式系统中,是有很多进程的(每个服务器,都是独立的进程)因此,之前的锁,就难以对现在的分布式系统中......
  • 【Redis】redis5种数据类型(哈希)
    目录基本介绍命令HSETHGETHEXISTSHKEYSHVALSHGETALLHMGETHLENHSETNXHINCRBYHINCRBYFLOATHSTRLEN内部编码原生字符串类型、哈希类型、序列化字符串json作缓存的区别基本介绍哈希类型中的映射关系是field-value,用于区分redis整体的键值对(key-value)命令H......
  • Redis缓存和Mysql数据一致性问题
            在高并发环境下,保持Redis缓存和MySQL数据库的数据一致性是一个复杂但至关重要的任务。下面是对这一问题的详细讲解,并结合PHP代码示例来展示如何解决这些一致性问题。问题背景Redis缓存和MySQL数据库的主要挑战在于:缓存和数据库之间的延迟:在缓存更......
  • Redis分布式锁查看机制与实现解析
    分布式系统中,锁的使用是保证资源一致性与并发控制的重要手段。Redis作为一个高效的内存存储工具,通过其简单的命令操作和快速响应机制,被广泛用于实现分布式锁。本文将深入探讨Redis中查看分布式锁的机制,包括如何查询锁的状态、使用何种命令进行锁操作,以及如何确保锁的有效性和正确性......