浮点数的精度问题
浮点数的精度问题 一:浮点数储存结构 任何数据在内存中都是以二进制的形式存储的,浮点数也不例外,浮点数分为单精度与双精度 单精度浮点数float占4字节、32位 双精度浮点数double占8字节、64位。 遵循IEEE二进制算数标准;float和double的二进制存储结构都分成三部分::符号位+指数位+尾数位。 Sign/符号位 Exponent…
2021-8-03 15:40
|
105
|
|
1887 字
|
8 分钟
redis常见面试题
1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅…
2021-8-02 15:55
|
160
|
|
6982 字
|
28 分钟
redis优化
Redis优化 一、配置优化 1、内存分配 [root@xiaowu ~]# vim /etc/sysctl.conf ... vm.overcommit_memory = 1 2、关闭swap分区 # 关闭swap分区 swapoff -a # 注释swap分区 vim /etc/fstab 3、redis配置优化 1. maxmemory [r…
2021-7-30 14:50
|
110
|
|
117 字
|
1 分钟内
哨兵
Redis高可用技术 一、持久化 持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 二、主从复制 复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写…
2021-7-30 14:48
|
113
|
|
1436 字
|
6 分钟
主从复制
Redis集群 由于单机Redis存储能力受单机限制,以及无法实现读写操作的负载均衡和读写分离,无法保证高可用。本篇就来介绍 Redis 集群搭建方案及实现原理,实现Redis对数据的冗余备份,从而保证数据和服务的高可用。主从复制是哨兵和集群的基石,因此我们循序渐进,由浅入深一层层的将Redis高可用方案抽丝剥茧展示在大家面前。 主从复制 一、主从…
2021-7-30 14:45
|
109
|
|
2692 字
|
11 分钟
订阅与发布
订阅与发布 Redis 通过 PUBLISH 、 SUBSCRIBE 等命令实现了订阅与发布模式, 这个功能提供两种信息机制, 分别是订阅/发布到频道和订阅/发布到模式 一、角色划分 在Redis订阅与发布中有以下几种角色:发布者、订阅者以及频道。 1、发布者 发布者最主要的工作就是将信息发布到频道中。 2、订阅者/消费者 订阅者最主要的功能是接收…
2021-7-30 14:40
|
106
|
|
409 字
|
2 分钟
ACL安全策略
ACL安全策略 Redis6之前的版本,我们只能使用requirepass参数给default用户配置登录密码,同一个redis集群的所有开发都共享default用户,难免会出现误操作把别人的key删掉或者数据泄露的情况。 因此Redis6版本推出了ACL(Access Controller List)访问控制权限的功能,基于此功能,我们可以设置多…
2021-7-30 14:37
|
100
|
|
2083 字
|
9 分钟
数据持久化
Redis面临的数据安全问题 Redis是一个缓存中间件,它的最大特点是使用内存从而使其性能强悍。但是使用内存的方式有一个致命的特点就是数据没办法持久化保存。然而Redis持久化存储有两种持久化方案,RDB(Redis DataBase)和 AOF(Append-Only File)。其中RDB是将内存中的数据进行快照存储到磁盘,AOF则为可回放的…
2021-7-30 14:35
|
141
|
|
1384 字
|
6 分钟
Redis基础管理命令
Redis基础管理命令 一、key操作 1、KEYS * :查询redis中所有键的名字 ⽣产中禁⽤[可能键值对很多, redis会崩溃, 耗费资源, ⽽且获 取不到信息] 127.0.0.1:6379> KEYS * myzety mysetd num mysetb mysetc a myset myseta 支持简单正则 127.0.0.…
2021-7-30 14:31
|
134
|
|
619 字
|
3 分钟
第一节:字符串数据结构
登录规范 redis-cli -h IP -p PORT --raw -h # 主机IP -p # 端口 --raw # 避免中文乱码 一、string字符串数据结构 1、特点 key value num 10 2、使用场景 1、会话缓存(登录⽹站会话, 缓存的保留, 使⽤本地cookie, 或者memcache, redis记录hash值, 存 …
2021-7-30 14:20
|
118
|
|
310 字
|
2 分钟
第二节:哈希数据结构
redis哈希数据结构 一、特点 key value stu id:101 name:hu age:24 二、应用场景 数据库缓存(每⼀个表⾥每⼀⾏都是⼀个键值对) 三、使用 1、HSET:写入数据 127.0.0.1:6379> HSET people name xiaowu sex man add shanghai 3 2、HGET:获取…
2021-7-30 14:22
|
96
|
|
159 字
|
1 分钟内
第三节:列表数据结构
数据结构之list列表 一、特点 key value day [day7,day6,day5,day4,day3,day2,day1] 0 1 2 3 4 5 6 -1 反向列表, 最新的值在最前⾯, 列表会⾃动给列表对象值加索引 二、应用场景 微信朋友圈 即时消息展示 三、使用 1、LPUSH:从左边插入数据 127.0.0.1:6379>…
2021-7-30 14:24
|
102
|
|
488 字
|
2 分钟
第四节:set无序集合
set无序集合 一、特点 key value stu (zha3,ls,w5,m6) 二、应用场景 社交类的平台,好友系统 共同好友,二度好友 三、使用 1、SADD:增加数据 127.0.0.1:6379> SADD num 1 1 127.0.0.1:6379> SADD num 12 123 1234 12345 123456 1…
2021-7-30 14:25
|
89
|
|
210 字
|
1 分钟内
第五节:sortset有序集合
sortset有序集合 一、特点 key value stu 100, 20, 10 (ls, pwd, mkdir) 0 1 2 ps:有序数据类型都有下标索引 二、应用场景 排行榜应用 三、使用 1、ZADD:添加数据 127.0.0.1:6379> ZADD myzety 1 one 1 127.0.0.1:6379> ZADD …
2021-7-30 14:29
|
105
|
|
149 字
|
1 分钟内
Redis安装
Redis安装 一、容器安装 --- kind: Deployment apiVersion: apps/v1 metadata: name: redis-deployment spec: selector: matchLabels: app: redis deploy: redis template: metadata: labels: app:…
2021-7-30 14:19
|
107
|
|
145 字
|
1 分钟内
第二节:redis简介
Redis简介 Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品。Redis采用内存(In-Memory)数据集(DataSet) 。支持多种数据类型。运行于大多数POSIX系统,如Linux、*BSD、OSX等。不支持windows。 一、Redis的特性 1、基于内存,性能高效…
2021-7-30 14:17
|
114
|
|
688 字
|
3 分钟
第一节:缓存数据库简介
缓存数据库简述 一、什么是缓存数据库 1、传统数据库性能瓶颈 传统数据库数据存储到磁盘中,IO吞吐量小,随机IO延迟高。大数据量时会遇到瓶颈 传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做磁盘数据库(DRDB:Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,由于对磁盘读写数据的操作一方面要…
2021-7-30 14:15
|
114
|
|
288 字
|
2 分钟