一.Redis事务的概念: Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。 总结说:redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。 二.Redis事务没有隔离级别的概念:
1简介HyperLogLog(下称 HLL)是一种非精确的去重算法,它的特点是具有非常优异的空间复杂度(几乎可以达到常数级别)。HLL 算法需要完整遍历所有元素一次,而非多次或采样;该算法只能计算集合中有多少个不重复的元素,不能给出每个元素的出现次数或是判断一个元素是否之前出现过;多个使用 HLL 统计出的基数值可以融合。HLL 算法有着非常优异的空间复杂度,可以看到它的空间占用随着基数值的增长并
bitmap数据结构,是基于二进制位来进行操作记录的,只有0 和 1两个状态。可以想象成一个数组,里面只有0或者1。1应用场景现实中会有这些场景,比如统计用户信息,活跃用户和非活跃用户、登录的、未登录的用户,打卡的、未打卡的,像这种只有2个状态,并且数据量非常大的,就适合使用bitmap。2setbit设置或者清空key的value(字符串)在offset处的bit值。那个位置的bit要么被设置,
1.HyperLogLog基数统计HyperLogLog,下面简称为HLL,它是 LogLog 算法的升级版,作用是能够提供不精确的去重计数。存在以下的特点:代码实现较难。能够使用极少的内存来统计巨量的数据,在 Redis 中实现的 HyperLogLog,只需要12K内存就能统计2^64个数据。计数存在一定的误差,误差率整体较低。标准误差为 0.81% 。误差可以被设置辅助计算因子进行降低。稍微
1.概述redis除了提供了五大基本数据类型String、List、Set、Hash、Zset,还有3个比较特殊的数据类型,Geospatial、Hyperloglog、Bitmap,这三个数据类型有一些比较有趣的应用场景,下面说说Geospatial,主要可以应用于跟地图相关的应用。朋友的定位,附近的人,打车距离计算?Redis 的 Geo 在Redis3.2 版本就推出了! 这个功能可以推算地
1、Zset数据结构简述zset是Redis提供的一个非常特别的数据结构,常用作排行榜等功能,以用户id为value,关注时间或者分数作为score进行排序。与其他数据结构相似,zset也有两种不同的实现,分别是zipList和skipList2底层实现zset 存储示意图:每个 value 后面都携带一个分数,然后用作排序跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单
1、查看服务器正在运行的服务systemctl list-units --type=service --state=running2、查看服务器配置的开机自启服务systemctl list-unit-files --type=service --state=enabled
hash类型新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息需要的存储结构:一个存储空间保存多个键值对数据hash类型:底层使用哈希表结构实现数据存储hash存储结构化优化如果field数量较少,存储结构优化为类数组结构如果field数量较多,存储结构使用HashMap结构hash类型数据的基本操作添加/修改数据hset key field value hmset key
1、Set 类型 Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。 Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删
1list数据类型概述数据存储需求:存储多个数据,并对数据进行存储空间的顺序进行区分需要的数据结构。一个存储空间保存多个数据,且通过数据可以体现进入顺序list类型。保存多个数据,底层使用双向链表存储结构实现2list类型数据的基本操作添加 / 修改数据:lpush key value value1 | rpush key value value1获取数据:lrange key start end
1.string类型数据的基本操作添加 / 修改数据:set key value获取数据:get key删除数据:del key添加 / 修改多个数据:mset key value key1 value1获取多个数据:mget key key1追加信息到原始数据后边(不存在时则添加):append key value2.string类型 增减操作设置数据增加指定范围的值:incr key 默认每次
1.介绍redis-benchmark是Redis自带的基准性能测试工具, 它提供了很多选项帮助开发和运维人员测试Redis的相关性能。2.例子50个并发同时请求Redis,一共一万次。redis-benchmark -c 50 -n 100003.参数3.1 redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100 测试存取大小为10
1、系统环境[root@localhost ~]# cat /etc/redhat-release2、安装依赖yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel3将redis-3.2.1.tar.gz安装包上传到服务器的/usr/local/目录下3.1解压redi
Redis 官网 https://redis.io/Redis 中文网站 http://redis.cn/Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、
1.先写缓存,在写数据库(这个需要考虑一下业务的合理性 )讲解:先写缓存,再写数据库。应用程序前端直接读写 Redis,后端匀速异步地把数据持久化到 MySQL 或 TiDB。这种做法一般被称之为“穿透式缓存”,这样子可以减少很多大流量的请求网站。2,先写数据库,再写缓存 解释:因为有一些业务可能会涉及到关联数据库的一些操作,业务性关联比较强,可以先通过操作数据的方式,在通过任
Mysql数据存储是存储在表中,查找数据时要先对表进行全局扫描或者根据索引查找,这涉及到磁盘的查找,磁盘查找如果是按条点查找可能会快点,但是顺序查找就比较慢;而Redis不用这么麻烦,本身就是存储在内存中,会根据数据在内存的位置直接取出。 1Redis是基于内存存储的,mysql是基于磁盘存储的 时间复杂度是指执行算法所需要的计算工作量。2Redis存储的是k-v格式的数
1NoSQL数据库的四大分类2共同特征对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往
1、高并发读写Web2.0网站,数据库并发负载非常高,往往达到每秒上万次的读写请求。2、高容量存储和高效存储Web2.0网站通常需要在后台数据库中存储海量数据,如何存储海量数据并进行高效的查询往往是一个挑战。3、高扩展性和高可用性随着系统的用户量和访问量与日俱增,需要数据库能够很方便的进行扩展、维护。3.1传统关系型数据库的瓶颈:1、无法应对每秒上万次的读写请求,硬盘IO此时也将变为性能瓶颈。2、
1概念 随着web2.0的快速发展,非关系型、分布式数据存储得到了快速的发展,它们不保证关系数据的ACID特性(原子性、一致性、隔离性、持久性,一个支持事务的数据库,必需要具有这四种特性,否则在事务过程当中无法保证数据的正确性)。NoSQL概念在2009年被提了出来。NoSQL最常见的解释是“non-relational”,“Not Only SQL”也被很多人接受(“NoSQL”一词最早于19
1、简介TiDB是PingCAP公司自主设计、研发的开放源分布式关系型数据库(NewSQL),是一个款同时支持在线事务处理与在线分析处理(Hybird Transactional and Analytical Processing,HTAP)的融合型分布式数据库产品。目标是为用户提供一站式OLTP(Online Transactional Processing)、OLAP(Online Analy
1NoSQL概念 随着web2.0的快速发展,非关系型、分布式数据存储得到了快速的发展,它们不保证关系数据的ACID特性(原子性、一致性、隔离性、持久性,一个支持事务的数据库,必需要具有这四种特性,否则在事务过程当中无法保证数据的正确性)。NoSQL概念在2009年被提了出来。NoSQL最常见的解释是“non-relational”,“Not Only SQL”也被很多人接受(“NoSQL”一词
1、Docker监控工具和使用1.1、Docker自带的监控命令监控容器最简单的方法是使用Docker自带的监控命令:docker ps、docker top、docker stats。1.1.1docker ps查看容器状态可以使用 docker ps 或 docker container ls 命令显示容器列表。# 语法 [root@hqs ~]# do
1、Docker容器配置进阶1.1、容器的自动重启Docker提供重启策略控制容器退出时或Docker重启时是否自动启动该容器。容器默认不支持自动重启,要使用 --restart 选项指定重启策略。[root@ai ~]# docker run --help容器重启策略选项值:# 案例1:运行一个始终重启的redis容器,容器退出时Docker重启它 [root@localho
1、概念1.1、容器本地存储与Docke存储驱动容器本地存储:每个容器都被自动分配了内部存储,即容器本地存储。采用的是联合文件系统。通过存储驱动进行管理。容器本地存储空间:分层结构构成,由一个可写容器层和若干只读的镜像层组成。联合文件系统:Docker的一种底层技术,由存储驱动(Storage Driver)实现。相应的存储驱动有aufs、overlay、overlay2、devicemapper
1、Docker网络概念1.1、网络驱动Docker 网络子系统使用可插拔的驱动,默认情况下有多个驱动程序,并提供核心联网功能。bridge:桥接网络,这是默认的网络驱动程序(不指定驱动程序创建的容器默认是bridge驱动)。host:主机网络。消除容器和主机的网络隔离,直接使用主机的网络。overlay:覆盖网络。可以将多个Docker守护进程连接,实现跨主机容器通讯(swarm集群)。macv
1、镜像概念1.1、基于容器生成镜像通过 docker commit 命令将现有的容器提交来生成新的镜像。原理:容器启动后的修改都保存在可写层,通过对可写层的修改生成新的镜像。[root@hqs docker-hello]# docker commit --help Usage: docker commit [OPTIONS选项] CONTAINER容器 [REPOSITOR
1、概念1.1、Docker注册中心和仓库Registry(注册中心或注册服务器):存放仓库的地方,一个注册中心往往有很多仓库。Repositories(仓库):集中存放镜像文件的地方,一个仓库存放多个镜像文件,每个仓库只存放一类镜像,通过"仓库名:标签"指定特定版本的镜像。Docker仓库分类:根据存储的镜像文件是否共享,分为 公开仓库(Public Repositories)、私有仓库(Pri
1、容器概念1.1、什么是容器容器(Container):在docker中指的是从镜像创建的应用程序运行实例。可以将容器看作将一个 应用程序及其依赖环境打包 而成的集装箱。容器的实质是进程,与直接在主机执行不同,容器进程在属于自己的独立的命名空间内运行。这种特性使得容器封装的应用程序比直接在主机上运行的应用程序更加安全。1.2、容器的基本信息# docker ps -a 显示本
1、镜像概念前置操作拉取镜像:# 拉取镜像 # 拉取最新版本的镜像 [root@hqs ~]# docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu 7c3b88808835: Already exists Digest: sha256:8ae9bafbb64f63a50caa
一、准备安装环境1)创建虚拟机 安装vmware软件。安装secureCRT或者xshell软件。 下载centos7.6地址:https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso 创建虚拟机。网络为nat模式。 2)配置网络 修改网卡:/etc/sysconfig/net
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号