首页 > 数据库 >redis核心

redis核心

时间:2023-06-30 19:33:06浏览次数:42  
标签:redis 核心 Redis Lettuce Redisson 线程 Jedis 分布式

一、Redis是什么?

Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、zset(sorted set --有序集合)和hash。

二、Redis都有哪些使用场景?

  1. Redis是基于内存的nosql数据库,可以通过新建线程的形式进行持久化,不影响Redis单线程的读写操作
  2. 通过list取最新的N条数据
  3. 模拟类似于token这种需要设置过期时间的场景
  4. 发布订阅消息系统
  5. 定时器、计数器

三、Redis有哪些功能?

基于内存缓存数据

四、Redis支持的数据类型有哪些?

  1. 字符串
  2. hash
  3. list
  4. set
  5. zset

五、Redis取值存值问题

六、Redis为什么是单线程的?

七、Redis真的是单线程的吗?

八、Redis持久化有几种方式?

九、Redis和 memecache 有什么区别?

十、Redis支持的 java 客户端都有哪些?或者说使用redis的框架有哪些?

概念:
Jedis:是Redis的Java实现客户端,提供了比较全面的Redis命令的支持,

Redisson:实现了分布式和可扩展的Java数据结构。

Lettuce:高级Redis客户端,用于线程安全同步,异步和响应使用,支持集群,Sentinel,管道和编码器。

 

优点:
Jedis:比较全面的提供了Redis的操作特性

Redisson:促使使用者对Redis的关注分离,提供很多分布式相关操作服务,例如,分布式锁,分布式集合,可通过Redis支持延迟队列

Lettuce:主要在一些分布式缓存框架上使用比较多

 

可伸缩:
Jedis:使用阻塞的I/O,且其方法调用都是同步的,程序流需要等到sockets处理完I/O才能执行,不支持异步。Jedis客户端实例不是线程安全的,所以需要通过连接池来使用Jedis。

Redisson:基于Netty框架的事件驱动的通信层,其方法调用是异步的。Redisson的API是线程安全的,所以可以操作单个Redisson连接来完成各种操作

Lettuce:基于Netty框架的事件驱动的通信层,其方法调用是异步的。Lettuce的API是线程安全的,所以可以操作单个Lettuce连接来完成各种操作

 

十一、jedis 和 redisson 有哪些区别?

十二、什么是缓存穿透?怎么解决?

十三、怎么保证缓存和数据库数据的一致性?

十四、Redis,什么是缓存穿透?怎么解决?

十五、Redis怎么实现分布式锁?

十六、Redis分布式锁有什么缺陷?

十七、Redis如何做内存优化?
————————————————
版权声明:本文为CSDN博主「哪 吒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guorui_java/article/details/117194603

标签:redis,核心,Redis,Lettuce,Redisson,线程,Jedis,分布式
From: https://www.cnblogs.com/kaiziwu/p/17517612.html

相关文章

  • linux 在线安装 Redis
    博主介绍:✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌Java知识图谱点击链接:体系化学习Java(Java面试专题)......
  • 【面试必问】Spring核心之控制反转(IOC)
    tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。......
  • 【面试必问】Spring核心之面向切面编程(AOP)
    tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。......
  • springboot操作redis
    添加依赖<!--springboot操作redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 在ap......
  • java操作redis
    加依赖<!--redis依赖--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>pub......
  • 如果面试官问你:Redis 内存满了怎么办?
    Redis占用内存大小Redis的内存淘汰LRU算法LRU在Redis中的实现LFU算法问题Redis占用内存大小我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。1、通过配置文件配置通过在Redis安装目录下面的redis.c......
  • 【SpringBoot】RedisTemplate自动注入失败原因及解决方案
    报错:packagecom.example.springdataredisdemo;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.data.redis.co......
  • Redis实战(黑马点评--商户查询缓存)
    为什么使用缓存 添加商户缓存 ShopController层/***根据id查询商铺信息*@paramid商铺id*@return商铺详情数据*/@GetMapping("/{id}")publicResultqueryShopById(@PathVariable("id")Longid){returnshopService.qu......
  • redisson对单个json的单个字段进行数值操作 - lua脚本
    @OverridepublicStringupdateJson(Stringkey,Stringfield,longnum,longlimit){Stringscript="localt=redis.call('get',KEYS[1]);\n"+"localj;\n"+"iftthen......
  • dba+开源工具:面向开发的Redis轻便式图形可视化监控工具(附下载)
    轻便式RedisMonitor是面向研发人员的图形可视化监控工具,借鉴了LEPUS(天兔)监控平台以及redis-cliinfo命令输出的监控指标项,去掉了一些不必要、看不懂的监控项,目前采集了数据库连接数、QPS、内存使用率统计和同步复制延迟时长。RedisMonitor可以监控单机模......