什么是基数
A(1,3,5,7,9)
B(1,3,5,6,8)
基数(不重复的元素) ,可以接受误差
> 简介
基数统计的算法,优点占用的内存固定,2^64不同的元素的基数,只需要12kb内存!如果要从内存角度比较的话Hyperloglog首选!
网页的UV(一个人访问一个网站多久,但是还是算作一个人)
~~~
127.0.0.1:6379> PFADD mykey a b c d d e # 创建第一种元素 mykey
(integer) 1
127.0.0.1:6379> PFCOUNT mykey #统计 mykey 元素的基数
(integer) 5
127.0.0.1:6379> PFADD mykey1 a b c d f e #创建第二组元素
(integer) 1
127.0.0.1:6379> PFCOUNT mykey1
(integer) 6
127.0.0.1:6379> PFMERGE mykey3 mykey mykey1 # 合并liangzu mykey3 = mykey + mykey1 并集
OK
127.0.0.1:6379
~~~
**注意:如果允许容错,那么一定可以使用hyperloglog**
- Redis 介绍
- 为什么要用Nosql
- Memcached(缓存)+Mysql+ 垂直拆分
- 分库分表+水平拆分+Mysql集群
- 什么是Nosql
- Nosql的特点
- 了解 3V+ 3高
- Redis 入门
- 概述
- Redis 能干啥
- 特性
- 常用网站
- 端口
- 查看redis是否启动
- Redis 基本操作
- Redis切换数据库
- 查看所有的key
- 清空当前数据库跟清除所有数据库
- 五大数据类型
- Redis Key
- 检测key值是否存在
- 移除key值
- 设置keyzhi10秒钟后消失
- 查看当前key的类型
- String(类型)
- 设置字符串
- 获取字符串
- 追加一个值到字符串
- 获取字符串长度
- 自增跟自减
- 字符串范围 range
- 替换指定开始的字符串
- 设置过期时间
- 设置多个字符串/获取多个字符串
- 检测值不存在在创建
- List(列表类型)
- 介绍
- 左边塞入一个值
- 获取值
- 左边塞入多个值
- 右边塞入一个值
- 移除左边或右边第一个值
- 通过下标获取值
- 获取长度
- 移除指定的值
- 截取固定的值
- 移除列表最后一个元素,将他移动新的列表中
- 检测列表是否存在
- 将列表中指定下标的值替换为另外一个值
- 往指定列表值前后插入数据
- 消息队列 跟栈
- SET(集合)操作
- 注意
- 添加一个或多个值
- 集合获取值
- 判断某一个值是否在集合中
- 获取集合中的个数
- 移除某一个元素
- 随机一个元素
- 随机删除一个元素
- 移动指定的值到另一个集合中
- 交集 并集 差集
- HASH(哈希)
- Hash介绍
- 设置一个或多个值
- 获取一个或多个值
- 获取所有的值
- 删除一个值
- hash获取长度
- 判断某个值是否存在
- 获取所有key 跟所有value
- 自增
- 如果不存在可以设置值 /如果存在不可以设置
- 总结
- ZSEt(有序集合)
- zset添加一个或多个值
- 查看值
- 显示全部的用户 从小到大
- 从大到下排列
- 显示全部的用户,并且携带成绩
- 显示工资小于2900员工升序排列
- 移除元素
- 获取个数
- 获取指定区间的成员数
- 五大类型介绍
- 三种特殊数据类型
- geospatial(地理位置)
- HyperLoglog
- Bitmaps
- 哨兵模式的全部配置
- 事务
- Redis事务本质
- Redis 的事务流程
- 放弃事务
- 错误
- 悲观锁 与乐观锁
- 解锁
- Redis配置文件详解
- Redis 持久化
- RDB
- AOF(Append Only File)
- 发布订阅
- Redis 主从复制
- 哨兵模式
- Redis缓存穿透(查不到
- Redis缓存击穿(查太多了)
- Redis缓存雪崩
- laravel 操作Redis
- 配置redis
- laravel 操作 String 类型
- laravel 操作 List (队列集合)
- laravel 操作 SET(集合)操作
- laravel 操作 ZSET(有序集合)
- laravel 操作 Hash(哈希)
- laravel 个人案例/其他业余配置