首页 > 数据库 >Redis 和Memcached 有什么区别、Redis五种数据类型 有哪些,分别是什么意思、AOP

Redis 和Memcached 有什么区别、Redis五种数据类型 有哪些,分别是什么意思、AOP

时间:2022-12-28 19:22:58浏览次数:80  
标签:redis 数据类型 memcache AOP 集合 Redis List


1.Redis 和Memcached  有什么区别 1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;

2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;

3、虚拟内存–Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;

4、过期策略–memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10;

5、分布式–设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;

6、存储数据安全–memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);

7、灾难恢复–memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;

8、Redis支持数据的备份,即master-slave模式的数据备份;

 

2.五种数据类型  有哪些,分别是什么意思
String String是redis中最基本的数据类型,一个key对应一个value。String类型是二进制安全的,意思是 redis 的 string 可以包含任何数据。如数字,字符串,jpg图片或者序列化的对象。 List List列表,Redis中的List其实就是链表(Redis用双端链表实现List)。 使用List结构,我们可以轻松地实现最新消息排队功能(比如新浪微博的TimeLine)。 List的另一个应用就是消息队列,可以利用List的 PUSH 操作,将任务存放在List中,然后工作线程再用 POP 操作将任务取出进行执行。 Set集合 Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 Hash散列 Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。 Zset有序集合 Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
3.什么是AOP
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

标签:redis,数据类型,memcache,AOP,集合,Redis,List
From: https://www.cnblogs.com/My-bokes/p/17011084.html

相关文章

  • Redis
    第一步:安装第三方Newget包  CSRedisCore  第二步:Program入口类中配置  第三步:使用 usingCSRedis(命名空间)  第四步:string类型的使用 ......
  • hive 建表-复杂数据类型
    目录​​hiveoutline​​​​map格式数据​​​​array格式数据​​​​\001格式数据​​​​多字节分隔符​​​​json格式数据​​​​简单json建表​​​​复杂json建......
  • redisson的Lock,SpinLock与FencedLock
    Lock redisson的基本lock实现,使用发布订阅机制实现通信可以查看源码中pubSub的相关使用SpingLock使用"ExponentialBackoffstrategy"指数退避策略实现的分布式......
  • spring-boot 整合redis作为数据缓存
     添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-redis</artifactId></dependency>......
  • Windows下Redis中RedisQFork位置调整
     redis-server.exeredis.windows.conf使用上面命令启动redis服务的时候报了以下错误信息: ​​The Windows versionof Redis allocatesamemorymappedheap for ......
  • Redisson使用起来很方便,但是需要redis环境支持eval命令
     Redisson使用起来很方便,但是需要redis环境支持eval命令,否则一切都是悲剧,比如me.结果还是要用RedisCommands去写一套。例子就如下,获得一个RLock锁对象,然后tryLock和unlock......
  • Spring学习笔记 - 第三章 - AOP与Spring事务
    原文地址:Spring学习笔记-第三章-AOP与Spring事务Spring学习笔记全系列传送门:Spring学习笔记-第一章-IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依......
  • Redis 如何实现库存扣减操作和防止被超卖?
    本文已经收录到Github仓库,该仓库包含计算机基础、Java核心知识点、多线程、JVM、常见框架、分布式、微服务、设计模式、架构等核心知识点,欢迎star~Github地址:​​https://gi......
  • php redis之高性能扫描和批量操作
    前提:redis的扫描方法,使用scan,而不是使用keys* 因为keys*会全部key扫描一次,key数量很多时,容易造成阻塞太久甚至down机。 scan原理:指定每次遍历的key数目和查找规......
  • Redis的高并发和快速原因
     1.Redis是基于内存的,内存的读写速度非常快;2.Redis是单线程的,省去了很多上下文切换线程的时间;3.Redis使用多路复用技术,可以处理并发的连接。非阻塞IO内部实现采用epol......