zoukankan      html  css  js  c++  java
  • Redis----理解随记

    1、缓存优化性能,降低负载
    本地缓存空间有限,也无法共享,所以需要分布式缓存 memcached/redis
    2、NoSql ,泛指非关系型数据库,
    web2.0网站越来越复杂,流量越来越高,数据量越来越大,数据不再是严格的关系型,nosql不是严格面向对象式,类型(key-value hashtable list set) 更灵活,而且通常用内存管理,速度也更快
    3、Redis Remote Dictionary Server 远程字典(内存)服务器
    基于内存管理,实现了多种数据结构,单线程模型的应用程序,提供插入-查询-固化-集群功能
    内存管理:速度快。数据可能丢失,只能做缓存而不是存储
    redis :两种固化到硬盘的方式,一种:snapshot 常用的,速度快,但是如果崩溃可能丢失一段数据
    可以配置一些自动保存策略,1分钟只要又修改就保存,30分钟修改多少次就保存
    save /bgsave 命令 ,主动save阻塞(单线程),bgsave非阻塞(子进程)的
    AOF:通过日志恢复数据,任何操作都需要日志,这个效率太低,数据不会丢失(高可用)
    多种数据结构: string ,hashtable ,set zset list 丰富的数据结构带来了灵活性,可以应对特殊的应用场景
    单线程:线程安全 ,web 就是多线程, sql server 多前程
    多线程可以提升性能,充分利用硬件资源
    nodejs ,redis 单线程
    Redis:内存数据结构操作,很长的链表,日过多个线程同时来操作,为了保证线程安全,不得不加锁,锁多了之后,多线程没有优势,甚至可能更低,redis全部都是内存操作,其实一个线程就够快了,
    (单线程的性能极致是要输给多线程的,CPU调度室,同一个进程的切换肯定比切换进程快)
    原子性:因为全程只有一个吸纳成可以操作数据,完全没有冲突的概念
    就是一个不可分割的追赠里,要么都成功,要么都失败,不会出现中间状态
    Redis 每一个命令都是原子性的

    Virtual Memory :Redis会自动把一些冷门数据存到硬盘,可以存储超过内存的数据

    Redis--SqlServer(执行脚本 上百个命令)
    RDM--SqlServerClient
    Ado.Net--ServiceStack /StackExchange(翻译脚本)
    ServiceStack :付费(6000 query /min)
    StackExchange:免费

  • 相关阅读:
    JavaScript 正则表达式(RegExp)
    impala 时间格式转换
    Informatica TO_BIGINT,TO_DECIMAL 转 字符串
    Hive metastore三种配置方式
    Windows10 从零搭建 Hadoop/Hive 环境及 Hive 入门
    Window 安装Hive
    使用dynamic-datasource-spring-boot-starter配置多数据源
    Sqoop 安装与简单测试
    使用dynamic-datasource-spring-boot-starter做多数据源及源码分析
    真正了解sqoop的一切
  • 原文地址:https://www.cnblogs.com/Yida-Tingting/p/12911042.html
Copyright © 2011-2022 走看看