redis学习篇一 redis安装及存储数据类型

一、centos8安装redis6.0

            redis官网选择稳定版本下载   https://redis.io/download

            安装教程: https://www.cnblogs.com/architectforest/p/12830056.html

            安装过程问题解决:https://blog.csdn.net/lgh1117/article/details/48270085

      windows10安装redis6.0

            https://download.csdn.net/download/pm136479pm/12391521

二、redis可以存储的数据类型

 2.1 字符串(String)

   

 

2.2 哈希(hash)

2.3 列表(List)

2.4 集合(set)

 元素唯一

2.5 有序集合(sorted set)

  按照分数排序且元素唯一

 

2.6 不常用的数据类型bitmap、geo、hyperloglog

      2.6.1 bitmap

              BitMap 就是通过一个 bit 位来表示某个元素对应的值或者状态, 其中的 key 就是对应元素本身,实际上底层也是通过对字符串的操作来实现。Redis 从 2.2 版本之后新增了setbit, getbit, bitcount 等几个 bitmap 相关命令。虽然是新命令,但是本身都是对字符串的操作,我们先来看看语法:

              setbit key offset value

在redis中,字符串都是以二进制的形式存在的。比如: 设置一个key("str")-value("a"), 字符串"a"的ASCII码是97,二进制表示为:         01100001, offset表示偏移量,从左往右开始计算,通过setbit命令将字符串"a" 变为 "b",其实就是将01100001 变为01100010(b的ASCII码是98,即将’a’中的offset 6从0变成1,将offset 7从1变成0。

   2.6.2  geo

Redis 的 GEO 特性在 Redis 3.2 版本中推出, 这个功能可以将用户给定的地理位置信息储存起来, 并对这些信息进行操作

GEOADD key longitude latitude member [longitude latitude member ...]

将给定的空间元素(纬度、经度、名字)添加到指定的键里面。 这些数据会以有序集合的形式被储存在键里面, 从而使得像 GEORADIUS 和 GEORADIUSBYMEMBER 这样的命令可以在之后通过位置查询取得这些元素

 

2.6.3 hyperloglog

Redis 的基数统计,这个结构可以非常省内存的去统计各种计数,比如注册 IP 数、每日访问 IP 数、页面实时UV)、在线用户数等。但是它也有局限性,就是只能统计数量,而没办法去知道具体的内容是什么。

当然用集合也可以解决这个问题。但是一个大型的网站,每天 IP 比如有 100 万,粗算一个 IP 消耗 15 字节,那么 100 万个 IP 就是 15M。而 HyperLogLog 在 Redis 中每个键占用的内容都是 12K,理论存储近似接近 2^64 个值,不管存储的内容是什么,它一个基于基数估算的算法,只能比较准确的估算出基数,可以使用少量固定的内存去存储并识别集合中的唯一元素。而且这个估算的基数并不一定准确,是一个带有 0.81% 标准错误的近似值。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值