目录

Redis配置文件redis.conf

limits限制

maxclients:

 maxmemory-policy:

Redis的发布和订阅

发步频道(接收信息):subscribe channel 

给频道发送消息:publish channel  消息

新数据类型

Bitmaps

 案例:判断用户是否访问过该网站,访问为1,否则为0,我们将id作为用户的偏移量,以区分不同用户(对比上面来看)

 案例:求两天都访问的用户数量 和 任意一天都访问过用户的数量(类似游戏的月活跃度)

 Set和Bitmaps存储一条活跃用户所占内存对比

HyperLogLog 

命令案例:

Greospatial

常见命令


Redis配置文件redis.conf

redis 订阅成功收不到消息 redis订阅binlog_redis 订阅成功收不到消息

绑定的ip,这里是主机,只有主机才能执行指令,若需远程需要注释;

redis 订阅成功收不到消息 redis订阅binlog_数据库_02

远程访问,还需要关闭保护模式,需要改为no

redis 订阅成功收不到消息 redis订阅binlog_ci_03

:tcp协议的b一个backlog(一个连接队列=未完成三次握手队列+已完成三次握手队列)

注意:在高并发环境下,需要一个高的backlog值来避免慢客户端连接问题

redis 订阅成功收不到消息 redis订阅binlog_ci_04

:意思如果你多长时间没有操作,就会超时,让你重新验证然后操作;

redis 订阅成功收不到消息 redis订阅binlog_缓存_05

 检测心跳,每过三百秒看你是否还活着


这里面保存了你的所有进程号:

redis 订阅成功收不到消息 redis订阅binlog_redis_06

 设置日志级别 :

redis 订阅成功收不到消息 redis订阅binlog_数据库_07

设置日志路径:(这里默认是/dev/null)

redis 订阅成功收不到消息 redis订阅binlog_redis_08

 设置密码(改完后要重启redis)

 在配置文件中找到requirepass,后面设置密码即可

limits限制

maxclients:

redis 订阅成功收不到消息 redis订阅binlog_redis 订阅成功收不到消息_09

redis 订阅成功收不到消息 redis订阅binlog_数据库_10

 maxmemory-policy:

 

redis 订阅成功收不到消息 redis订阅binlog_缓存_11


Redis的发布和订阅

redis 订阅成功收不到消息 redis订阅binlog_缓存_12

 跟security中的权限操作类似,有权限就可以得到对应的操作

 

redis 订阅成功收不到消息 redis订阅binlog_redis_13

发步频道(接收信息):subscribe channel 

redis 订阅成功收不到消息 redis订阅binlog_redis 订阅成功收不到消息_14

给频道发送消息:publish channel  消息

 

redis 订阅成功收不到消息 redis订阅binlog_redis_15


新数据类型

Bitmaps

redis 订阅成功收不到消息 redis订阅binlog_数据库_16

redis 订阅成功收不到消息 redis订阅binlog_redis_17

意思就是每个值都有对应的偏移量(也就是下标) 

 案例:判断用户是否访问过该网站,访问为1,否则为0,我们将id作为用户的偏移量,以区分不同用户(对比上面来看)

redis 订阅成功收不到消息 redis订阅binlog_redis_18

注:第一次加载Bitmaps时,如果偏移量很大(意思就是用户很多),初始化过程会很慢

redis 订阅成功收不到消息 redis订阅binlog_数据库_19

 

redis 订阅成功收不到消息 redis订阅binlog_redis 订阅成功收不到消息_20

redis 订阅成功收不到消息 redis订阅binlog_数据库_21

 bitcount 键 start end :统计字符串(把它转化成对应的字节,比如abc代表三个字节,转为ascll为97 98 99,再转为8位的二进制...)从start到end中bit为1的数量 

 因为一字节是8位,所以说bitcount 键 1 2:下标为1和2的字节组(也就是16个位)中bit=1的个数(可以理解为位数)

bitcount 键 字节组1 字节组2:如果字节组有负数,-1代表最后一个,-2代表倒数第二个

 案例:求两天都访问的用户数量 和 任意一天都访问过用户的数量(类似游戏的月活跃度)

redis 订阅成功收不到消息 redis订阅binlog_redis_22

 

redis 订阅成功收不到消息 redis订阅binlog_数据库_23

bitop命令: 

 bitop and unique:users:and:20201104_3(两个时间都访问的) unique:users:20201103(3号访问的) unique:users:20201104(4号访问的)

如果是两天任意一条访问的用户:

 将上述的and改为or即可;


 Set和Bitmaps存储一条活跃用户所占内存对比

redis 订阅成功收不到消息 redis订阅binlog_redis_24

 存储活跃用户用Bitmaps较好;

有利于节省内存,提高CPU的利用率;

Bitmaps主要针对位操作运算;


HyperLogLog 

专门处理涉及基数问题:

redis 订阅成功收不到消息 redis订阅binlog_ci_25

 一些解决基数问题的方案:

redis 订阅成功收不到消息 redis订阅binlog_缓存_26

 特点:

当输入的元素数量或者体积上非常大时,HyperLogLog起到了去重的作用

redis 订阅成功收不到消息 redis订阅binlog_缓存_27

命令案例:

redis 订阅成功收不到消息 redis订阅binlog_ci_28

pfadd key value:将value添加到键key中

pfcount key: 计算key中值的个数

重复元素不会被添加

 

redis 订阅成功收不到消息 redis订阅binlog_redis_29

pfmerge newkey key1 key2 :将key1与key2 中的value全部放入新的键newkeyzhong

 注意:HyperLogLog中是没有命令能够看value的;

HyperLogLog主要针对基数运算;


Greospatial

简介:

redis 订阅成功收不到消息 redis订阅binlog_数据库_30

 主要就是地理信息的内容

常见命令

redis 订阅成功收不到消息 redis订阅binlog_redis 订阅成功收不到消息_31

geoadd 键(国家城市之类的) 经度 纬度  value(具体名称之类的) 

geoadd china:city 经度 纬度 shanghai:给china:city这个键添加一个位置为xxx的value,名为上海;

redis 订阅成功收不到消息 redis订阅binlog_redis 订阅成功收不到消息_32

 greospatial也具有去重的效果,不能添加重复数据;


redis 订阅成功收不到消息 redis订阅binlog_数据库_33

 geopos china:city beijing:计算键china:city中的value值beijing的经纬度


redis 订阅成功收不到消息 redis订阅binlog_ci_34

 geodist china:city chongqing shenzhen km:  geodist计算键中两个value值重庆和深圳的举、距离,以km为单位;


redis 订阅成功收不到消息 redis订阅binlog_ci_35

 个人觉得有点像附近的人....

 

redis 订阅成功收不到消息 redis订阅binlog_ci_36