https://github.com/baidu/uid-generator
https://zhuanlan.zhihu.com/p/77737855
但是我们把这个64位的ID保存到redis的zset的时候,却面临一个zset的score溢出问题,原因是score是64位double类型(float64),关于这个问题有开发人员提出过解决办法,详见: https://blog.csdn.net/Nassue_sn/article/details/109011883 和 https://cloud.tencent.com/developer/article/1525534 .
他们解决办法的相同点就是把雪花ID变成52位(float64的整数位精度是52位)以期不会溢出,但是这也势必导致ID的范围变小,比如他们的业务就是保存15天的消息,这样的修改并不是一个满足复杂业务场景的实现,20年和21年断断续续修改redis server的源码将score的类型从float64改为int64位,并且同步修改php redis和go redis的client接口实现,因用于公司新兴业务,未经公司同意尚未能公开源码,实际上也不难修改啊
string 字符串(可以为整形、浮点型和字符串,统称为元素)list 列表(实现队列,元素不唯一,先入先出原则)
set 集合(各不相同的元素)
hash hash散列值(hash的key必须是唯一的)
sort set 有序集合
1、首先进入redis的安装目录,cmd下运行“redis-server.exe”开启redis服务,如下图所示。
2、打开一个同样的cmd窗口,输入“redis-cli.exe”,进入客户端,然后输入config get *,获取所有配置。
3、可以通过config set 命令来设置配置,如图所示,设置loglevel,也就是日志级别为notice,然后通过config get 命令获取值。
4、首先,一定会想redis能不能像mysql那样指定端口,然后就是设置超时时间,也就是当redis多久没有使用时,redis自动关闭连接,如下图所示就完成了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)