IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis核心配置和高级数据类型 -> 正文阅读

[大数据]Redis核心配置和高级数据类型

Redis核心配置和高级数据类型

在配置文件中进行修改

1、服务器基础设置

服务端设定

  1. 设置服务器以守护进程的方式运行

    daemonize yes|no
    
  2. 绑定主机地址

    bind 127.0.0.1
    
  3. 设置服务器端口号

    port 6379
    
  4. 设置数据库数量

    databases 16
    

日志配置

注意:日志级别开发期设置为verbose即可,生产环境中配置为notice,简化日志输出量,降低写日志IO的频度

  1. 设置服务器以指定日志记录级别

    loglevel debug|verbose|notice|warning
    
  2. 日志记录文件名

    logfile 端口号.log
    

客户端配置

  1. 设置同一时间最大客户端连接数,默认无限制。当客户端连接到达上限,Redis会关闭新的连接

    maxclients 0
    
  2. 客户端闲置等待最大时长,达到最大值后关闭连接。如需关闭该功能,设置为 0

    timeout 300
    

多服务器快捷配置

  1. 导入并加载指定配置文件信息,用于快速创建redis公共配置较多的redis实例配置文件,便于维护

    include /path/server-端口号.conf
    

2、高级数据类型

1、Bitmaps

Bitmaps类型的基础操作

获取指定key对应偏移量上的bit值

getbit key offset

设置指定key对应偏移量上的bit值,value只能是1或0

setbit key offset value

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rPQupGWD-1654998011431)(images/image-20220612082913910.png)]

Bitmaps类型的扩展操作
业务场景

电影网站

  1. 统计每天某一部电影是否被点播
  2. 统计每天有多少部电影被点播
  3. 统计每周/月/年有多少部电影被点播
  4. 统计年度哪部电影没有被点播
业务分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a1PL2Hm5-1654998011432)(images/image-20220612083850544.png)]

Bitmaps类型的扩展操作
  1. 对指定key按位进行交、并、非、异或操作,并将结果保存到destKey中

    bitop op destKey key1 [key2...]
    # and:交
    # or:并
    # not:非
    # xor:异或
    
  2. 统计指定key中1的数量

    bitcount key [start end]
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C69KSnih-1654998011432)(images/image-20220612084313008.png)]

redis 应用于信息状态统

2、HyperLogLog

统计独立UV

  1. 原始方案:set存储每一个用户的id(字符串)
  2. 改进方案:Bitmaps存储每一个用户状态(bit)
  3. 全新的方案:Hyperloglog

基数

  1. 基数是数据集去重后元素个数
  2. HyperLogLog 是用来做基数统计的,运用了LogLog的算法

HyperLogLog类型的基本操作

# 添加数据
pfadd key element [element ...]
# 统计数据
pfcount key [key ...]
# 合并数据
pfmerge destkey sourcekey [sourcekey...]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hxhBfE7-1654998011433)(images/image-20220612090519612.png)]

redis 应用于独立信息统计

相关说明

  1. 用于进行基数统计,不是集合,不保存数据,只记录数量而不是具体数据
  2. 核心是基数估算算法,最终数值存在一定误差
  3. 误差范围:基数估计的结果是一个带有 0.81% 标准错误的近似值
  4. 耗空间极小,每个hyperloglog key占用了12K的内存用于标记基数
  5. pfadd命令不是一次性分配12K内存使用,会随着基数的增加内存逐渐增大
  6. Pfmerge命令合并后占用的存储空间为12K,无论合并之前数据量多少

3、GEO

redis 应用于地理位置计算

GEO类型的基本操作

# 添加坐标点
geoadd key longitude latitude member [longitude latitude member ...]
# 获取坐标点
geopos key member [member ...]
# 计算坐标点距离
geodist key member1 member2 [unit]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4h5c9Dlf-1654998011433)(images/image-20220612091335668.png)]

GEO类型的基本操作2

# 添加坐标点
georadius key longitude latitude radius m|km|ft|mi [withcoord] [withdist] [withhash] [count count]
# 获取坐标点
georadiusbymember key member radius m|km|ft|mi [withcoord] [withdist] [withhash] [count count]
# 计算经纬度
geohash key member [member ...]

设置范围示例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KLUYlmco-1654998011434)(images/image-20220612092357062.png)]

获取距离范围内的信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PJSsIYYz-1654998011435)(images/image-20220612092438089.png)]

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:40:05  更:2022-06-14 22:40:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 0:01:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码