Redis新操作

1.Bitmaps

1.1概述

Bitmaps可以对进行操作,实际上它就是一个字符串,可以将Bitmaps想象为一个以位为单位的数组,数组中的每个元素只能存储0或者1,数组的下标在Bitmaps被称为偏移量。

  • setbit key offset value:设置offset位为value,offset偏移量从0开始。

  • getbit key offset:获取某个偏移量的值。

  • bitcount key:统计比特值为1的数量。

  • bitop and(or/xor) destkey key1 key2....:将key1和key2做复合操作,将结果放到destkey中。

案例:可以用来统计网站某两天内有哪些共同用户访问。

1.2Bitmap和Set做比较

Bitmap的优势

发现在活跃用户量大的情况下,Bitmaps比set更加的节省内存空间。

Bitmap的劣势

发现在活跃用户量较少的情况下,还是set会比较好。

2.HyperLogLog

当我们遇到统计相关的需求时,因为要考虑到去重,所以我们经常会使用set,但是随着数据不断增加,会导致占用空间越来越大。为了降低一定的精度来平衡存储空间,推出了HyperLogLog,它计算基数所需的空间总是固定的,并且是很小的。

但是,HyperLogLog只会根据输入元素来计算基数的个数,并不能输出里面的元素。

  • pfadd key element1 element2....:添加指定的元素。

  • pfcount key:统计元素个数。

  • pfmerge destkey key1 key2:将key1和key2中的元素合并去重放到destkey中。

3.Geospatial

Redis增加了地理信息的支持,注意输入的经纬度的格式必须是:(121.43333,34.50000) 这种。

  • geoadd key 经度 纬度 城市名 .....:添加经纬度。

  • geopos key 城市名:获取指定地区的坐标值。

  • geodist key 城市1 城市2 m/km:获取两个城市之间的直线距离。

  • georadius key 经度 纬度 半径 单位:给定经纬度为中心,找出某一半径内的元素。

相关推荐
热爱编程的小曾32 分钟前
sqli-labs靶场 less 8
前端·数据库·less
THRUSTER1111140 分钟前
MySQL-- 函数(单行函数):数值函数, 字符串函数
数据库·mysql·函数·navicat·单行函数
橙序研工坊1 小时前
MySQL的进阶语法7(索引-B+Tree 、Hash、聚集索引 、二级索引(回表查询)、索引的使用及设计原则
数据库·sql·mysql
Bruce-li__1 小时前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python
小光学长1 小时前
基于vue框架的智能服务旅游管理系统54kd3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
Bonnie_12151 小时前
07-MySQL-事务的隔离级别以及底层原理
数据库·mysql
ETLCloud数据集成社区1 小时前
ETLCloud是如何通过Oracle实现CDC的?
数据库·oracle·etl·实时数据同步
KATA~2 小时前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
xyliiiiiL2 小时前
一文总结常见项目排查
java·服务器·数据库
shaoing2 小时前
MySQL 错误 报错:Table ‘performance_schema.session_variables’ Doesn’t Exist
java·开发语言·数据库