缺点:有一定的错误率,使用时需要允许有一定的容错性

常用命令:

  • pfadd:增加一个hyperloglog类型的key-value(集合)

  • pfcount:统计一个集合中不重复元素的个数

  • pfmerge:合并两个或多个集合

127.0.0.1:6379> flushdb # 演示需要,清空当前库

OK

127.0.0.1:6379> pfadd hyper1 a s d f g h j k l a # 创建一个hyperloglog类型,存入元素,

(integer) 1

127.0.0.1:6379> pfcount hyper1 # 统计不重复的元素有多少

(integer) 9

127.0.0.1:6379> pfadd hyper2 a s d f z x v

(integer) 1

127.0.0.1:6379> pfmerge hyper3 hyper1 hyper2 # 合并hyper1,hyper2 命名为hyper3

OK

127.0.0.1:6379> pfcount hyper3

(integer) 12

[](()bitmaps :采用的是位存储,取值为0,1,一般用来记录两种状态,和用来统计。


  • 常用命令只有三个:

127.0.0.1:6379> flushdb #演示先清空当前库

OK

127.0.0.1:6379> setbit bitmap 0 0 # 设置一个bitmaps类型,然后将0标时为0

(integer) 0

127.0.0.1:6379> setbit bitmap 1 1

(integer) 0

127.0.0.1:6379> setbit bitmap 2 1

(integer) 0

127.0.0.1:6379> setbit bitmap 3 0

(integer) 0

127.0.0.1:6379> getbit bitmap 3 #用来get某一个标志位的值

(integer) 0

127.0.0.1:6379> getbit bitmap 2

(integer) 1

127.0.0.1:6379> bitcount bitmap #统计有多少个为1的

(integer) 2

[](()Redis事务

==========================================================================

  • Redis事务本质:一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行,特性:一次性,顺序性,排他性

  • Redis单条命令是保证原子性的,但是事务不保证原子性

  • 常用的命令:

开启事务:multi

开启后可以输入命令入列

执行事务:exec

取消事务:discard

127.0.0.1:6379> flushdb #演示清空当前库

OK

127.0.0.1:6379> multi # 开启事务

OK

127.0.0.1:6379> set name xiec #输入命令入列

QUEUED

127.0.0.1:6379> set age 23

QUEUED

127.0.0.1:6379> set sex nan

QUEUED

127.0.0.1:6379> get name

QUEUED

127.0.0.1:6379> exec # 执行事务,如果想放弃可以输discard

  1. OK

  2. OK

  3. OK

  4. “xiec”

127.0.0.1:6379> get name # 简单测试

“xiec”

[](()Redis事务异常

============================================================================

主要分为两种(可以联系java中的异常进行记忆):

  • 编译型异常:也就是开启事务后,在命令入列的时候就 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 报错了,那样的化在事务中的所有命令都不会被执行

  • 运行时异常:也就是命令都正常入列了,但是通过exec命令执行的时候报错了,那种情况,其他命令正常执行,只有那个错误的命令会把错误抛出来。

[](()watch


通过watch命令可以对一个key进行一个监控,如果在一个事务中,发现这个key的值和开始监控的不一样了,就不进行操作,也可以通过unwatch进行放弃监控操作。


总结

三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。

  • 第一个是算法

关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。

而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本

《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题

《算法的乐趣》共有23个章节:

  • 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)

基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)

  • 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)

基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)

[外链图片转存中…(img-VOADgfDA-1650349651713)]

  • 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)

[外链图片转存中…(img-mFXRTH1r-1650349651714)]

Redis三大特殊类型介绍:GEO,hyperloglog,bitmap,Redis事务相关推荐

  1. 保存到redis的字符串类型出现斜杆_深入浅出Redis:这次从Redis底层数据结构开始...

    1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-valu ...

  2. redis中hash类型介绍

    在redis中,hash数据类型存储的数据与mysql数据库中存储一条记录极为相似,是一个string类型的field和value的映射表,它特别适合用于存储对象,但字段值只能是字符串,不支持其他类型 ...

  3. python变量分类_Python 入门系列 —— 5. 三大变量类型介绍

    多值赋给多变量 Python 允许在一行中将多个值赋给多个变量.x, y, z = "Orange", "Banana", "Cherry" ...

  4. 跟着狂神学Redis(NoSql+环境配置+五大数据类型+三种特殊类型+Hyperloglog+Bitmap+事务+Jedis+SpringBoot整合+Redis持久化+...)

    跟着狂神学Redis 狂神聊Redis 学习方式:不是为了面试和工作学习!仅仅是为了兴趣!兴趣才是最好的老师! 基本的理论先学习,然后将知识融汇贯通! 狂神的Redis课程安排: nosql 讲解 阿 ...

  5. 【Java从0到架构师】Redis 进阶 - pipline、发布订阅、Bitmap、HyperLogLog、GEO

    Redis 原理与实战 Jedis 的基本使用 Redis 数据淘汰策略 Redis 进阶拓展 pipline - 命令批处理,减少大量命令的网络开销,提高操作性能 发布订阅 - subscribe ...

  6. redis学习--三种特殊数据类型,GEO地理位置,HyperLogLog,BitMap

    三种特殊数据类型,GEO地理位置,HyperLogLog,BitMap GEO地理位置 简介 Redis 的 GEO 特性在 Redis 3.2 版本中推出, 这个功能可以将用户给定的地理位置信息储存 ...

  7. Redis 特殊数据类型 :Geospatial、Hyperloglog、Bitmap

    文章目录 Geospatial(地理空间) 介绍 用法 Hyperloglog(基数统计) 介绍 用法 Bitmap(位图) 介绍 用法 Geospatial(地理空间) 在使用一些小程序的时候,里面 ...

  8. Redis 实战篇:通过 Geo 类型实现附近的人邂逅女神

    码老湿,阅读了你的巧用数据类型实现亿级数据统计之后,我学会了如何游刃有余的使用不同的数据类型(String.Hash.List.Set.Sorted Set.HyperLogLog.Bitmap)去解 ...

  9. 三大缓存框架ehcache、memcache和redis的介绍

    三大缓存框架ehcache.memcache和redis的介绍 2016-04-12 架构说 4964 阅读 最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存 ...

  10. Redis实战(二):Redis 的 String 类型 bitmap

    Redis 常用命令.数据类型 查看帮助 To get help about Redis commands type:"help @<group>" to get a ...

最新文章

  1. ubuntu12.04下NFS链接开发板并测试交叉编译的第一个应用
  2. 《PSP游戏下载 国际象棋大师:学习的艺术》(Chessmaster : The Art Of Learning)
  3. 修改了sql默认路径无法登录服务器,PostgreSQL错误'无法连接到服务器:没有这样的文件或目录'...
  4. android 活动传递数据,如何在Android应用程序的“活动”之间传递数据?
  5. 服务器推技术相关网址
  6. 简单谈谈setTimeout与setInterval
  7. linux中vi模式中c命令,“Linux”系统中“vi ^C ”命令是什么意思?
  8. informix(南大通用)sql语法的差异
  9. linux系统清理内存,如何清除linux的内存缓存,缓冲和交换空间
  10. 数据结构: 树 (查找树)
  11. 新闻发布系统,我学会了什么?
  12. 深入浅出python中文版pdf-深入浅出Python 巴里著 中文 PDF版 [37M]
  13. java数组排序方法
  14. 【K8S】K8s部署Metrics-Server服务
  15. C++ 求最大公因数
  16. 股指期货、股指期权与股票有何不同?
  17. matlab实现数据压缩,【Matlab】Huffman编码如何实现数据压缩
  18. 【转载】浅谈人工智能:现状、任务、构架与统一 | 正本清源 -- 朱松纯教授
  19. Apache服务(一)Apache服务的基本控制
  20. Django中关于模板的查找顺序

热门文章

  1. 使用opencv实现简单的人脸识别
  2. AdapterView适配器
  3. Delphi 10.4.2 CE 社区版支持 Android API-30,之二
  4. 《C++沉思录》——类设计核查表、代理类、句柄类
  5. wvs_patcher批量测试网站
  6. 【编译原理】【C语言】实验三:递归下降分析法
  7. 网络空间安全——总结
  8. 【控制】反馈控制入门,PID控制
  9. 领克车机2.0安装 app 方法,亲测有效
  10. Java多线程编程实战指南(核心篇)读书笔记(三)