avatar
文章
179
标签
47
分类
46

首页
文章
  • 归档
  • 标签
  • 分类
  • ToDo
  • 友情链接
留言板
关于
Echin の 博客
搜索
首页
文章
  • 归档
  • 标签
  • 分类
  • ToDo
  • 友情链接
留言板
关于

Echin の 博客

Redis-Hyperloglog
发表于2024-04-07|更新于2024-04-07|Redis|Redis
Hyperloglog 基数统计 什么是基数: 不重复的元素 A{1,3,5,7,8,7} 基数=5 (1,3,5,7,8) 可以统计一下网站的访问量,但是不包括一个人多次访问只算一次的情况。 传统来说可以使用其他数据模型保存id-count 但是这个方法会造成id保存资源的浪费,所以不可取 而Hyperloglog就只存储count,所以他内存很少 但是Hyperloglog有错误率,挺低的 FLUSHALL 开始。 一些样例123456789101112# 增加数量PFadd mykey a b c d e f g h i j # 计数PFCOUNT mykey # output : 10# mykey2 增加数量PFADD mykey2 i j z x c v b n m# 增加数量pfcount mykey2 # output : 9# 合并 pfmerge destkey sourcekey sourcekey ....pfmerge mykey3 mykey mykey2# 计数pfcount mykey3 # ouput : 15 比较适合于 ...
Redis-geospatial
发表于2024-04-07|更新于2024-04-07|Redis|Redis
Redis-geospatial 表示地理位置 经纬度 GEOADD123456789# geoadd 经度 纬度 城市# 规则:两级无法直接添加,一般可以通过配置文件一次性导入geoadd china:city 116.23128 40.22077 beijinggeoadd china:city 121.48941 31.40527 shanghaigeoadd china:city 106.54041 29.40268 chongqinggeoadd china:city 117.20 39.12 tianjing GEOPOS12345678910# 获取某个城市的地址# geopos key valuegeopos china:city beijing# output : [ { "longitude": 116.23128265142441, "latitude": 40.220769054385265 }]# 可以发现的是,虽然我在之前输入的值只有小数点后五位,但是这次查询的值却有这么多位 ...
Redis-Zset
发表于2024-04-06|更新于2024-04-07|Redis|Redis
Zset 有序集合 score - value 然后可以通过score来进行排序 flushall 开始。 一批操作1123456789101112131415161718192021222324252627flushallkeys *zadd zset 1 one 2 two 3 three # 批量添加值zrange zset 0 -1 # 展示值------------------------------------------------------------flushallzadd salary 100 a 200 b 300 ckeys *# zrangebyscore zset min max 只能写最小到最大zrangebyscore salary -inf +inf # 通过score排序,并显示value-- 加上scorezrangebyscore salary -inf +inf withscores # 通过score排序,并显示key-value------------------------------------------------ ...
Redis-Hash
发表于2024-04-06|更新于2024-04-07|Redis|Redis
key - map[key]{value} key - { key - value } flushdb 开始。 添加/显示123456789# 添加 hset hash field1 value1 field2 value2 ...hset hash 1 one 2 two 3 threehmset hash 1 one 2 two 3 three #其实我不加m他也可以多个读取,不知道为啥,能用就行hsetnx hash 1 one ....# 获取某一个hash值hget hash 1 # output : one hmget hash 1 2 3 # output : one two three # 但是这里想要获取多个key就需要加m,qqgg# 获取所有的值hgetall hash # output : 1-one 2-two 3-three 删除123# 请根据上面的的context进行下面的操作hdel hash 1hgetall # 2-two 3-three 获取长度确切来说是明白一个哈希中有多少个key 1hlen hash # output : ...
Redis-Set
发表于2024-04-06|更新于2024-04-07|Redis|Redis
set中的值是无序不重复的集合 set的操作以 s 开头 flushall 开始下面的操作。 添加1234sadd myset "hello"sadd myset "world "sadd myset "hello" # 因为不能重复,所以这个值不会被添加smembers myset # 查看的命令 查看123456# 查看所有成员smembers myset# 查看某个value是不是set中的成员 sismember set value sismember myset hello# 查看set集合中的个数scard myset 移除123# srem srem myset hellosmembers myset 随机抽取可以应用于一些抽奖的环节 12345678# 做些准备sadd myset 1 2 3 4 5 6 7 8 9smembers myset# srandmembersrandmember myset# 随机删除keyspop myset 将一个指定的值移动到另外一个set中1smove m ...
Redis-List
发表于2024-04-06|更新于2024-04-07|Redis|Redis
List - 列表 ,底层的实现是链表,所以不推荐对中间操作 可以把他用作 栈 , 队列 一般List的操作,都会在操作前加一个’ l ‘或者 ‘ r ‘ , 其实很好理解’l’就表示左边进出;’r’就表示右边进出 进出1234567891011121314151617181920flushdb# lpush 左边进 rpush 右边进lpush list1 one two three # lrange 查看 (0 -1表示所有且左闭右闭)lrange list1 0 0 # output three 可见lpush就是每次在左边塞入一个值 three two one lrange list1 0 -1 # output three two one #################################################################flushdb # output : ok keys * # output : list1 rpush list2 one two three # output: 3lrange list2 0 0 # ou ...
Redis-String
发表于2024-04-05|更新于2024-04-07|Redis|Redis
普通 set key value get key 以及上一篇写的一些指令 追加字段123456789# append# 如果要加入空格,就要使用 " "flushall # 清空所有数据库set name hello get name # output : helloappend name " world" get name # output: hello worldappend name world get name # output : hello worldworld 获取字符串长度1strlen key 自增123456789101112# 自增1set views 0incr viewsincr viewsget views-- output : 2# 自增其他数量incrby views 10# 自减和自增相同decr / decrby 获取特定序列下的字符串闭区间–左闭右闭 1234set name "hello,world"# GETRANGE key start endGETRANGE n ...
init函数
发表于2024-03-28|更新于2024-03-28|Go|Go
背景 ​ 我在测试某个文件的时候,文件的具体内容没有错误,但是会报错invalid memory(空指针引用),debug后发现是log.Logger == nil ,但是我的Logger是放在init函数中的,没道理没有初始化,由此我查了GPT想到了目录相关的路径依赖问题,但是很快NX就帮我否决了,我自己想想也是,怎么可能是路径问题,NX还问我了一个问题 1234567891011121314151617181920212223242526272829// 附上代码// tiktok/common/oss/oss_test.go 中func TestNew(t *testing.T) { log.Init() AliyunInit() CreateBucket("simple-tiktok-app") log.Logger.Info("TestNew is success") fmt.Println("TestNew is success")}// tiktok/common/oss/ ...
二叉树
发表于2024-03-20|更新于2024-04-16|代码随想录|代码随想录
理论基础 满二叉树父节点下面 两个子节点都存在 深度为K , 有2^k-1个结点 完全二叉树除最底层节点不全,其他层节点都是满的 同时最底层从左往右不能断掉 二叉搜索树有数值 所有左子树上的节点小于根节点 所有右子树的节点大于根节点 平衡二叉搜索树在前者的基础上 加一条:左右子树的高度差绝对值不超过1 表现123456Definition for a binary tree node.type TreeNode struct { Val int Left *TreeNode Right *TreeNode} 二叉树的前序遍历1234567891011121314func preorderTraversal(root *TreeNode)[]int{ vals := make ([]int,0) var preorder func(*TreeNode) preorder = func(node *TreeNode) { if node == nil { retur ...
日志设计封装
发表于2024-03-19|更新于2024-03-19|NX青训营|NX青训营
引言设计日志包,干货 一直对日志的包装非常好奇,但是不会写,下面就随便讲一下我抄的这个代码 (下面代码纯属是我抄过来的,学习学习) 整体代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125package logimport ( "github.com/natefinch/lumberjack" "github.com/sirupsen/logrus" "go.uber.org/zap" "go.uber.org/z ...
1…91011…18
avatar
Echin-h
keep learning
文章
179
标签
47
分类
46
Follow Me
公告
love is accumulated, not love, too.
最新文章
北京租房2025-07-21
Linux命令补充2025-02-27
非唯一索引加锁规则实操2025-02-19
sls日志接入2025-01-18
操作系统概论2024-12-08
分类
  • CD/CI1
  • CI/CD1
  • Gin10
  • Go26
  • Gorm9
  • JAVA2
  • Linux4
  • MQ1
标签
flamgo CI/CD 简历 代码随想录 ngrok casbin 分布式锁 配置文件 Go 八股文 CD/CI JAVA语法 oauth Gin git vim rpc none NX青训营 flamego 设计模式 Linux docker JWT pinnacle 我爱记单词 sls 计算机网络 博客 Mysql MQ 前端 北京北京 随笔 Gorm 设计原则 k8s 算法 Session 图解HTTP
归档
  • 七月 20251
  • 二月 20252
  • 一月 20251
  • 十二月 20243
  • 十一月 20243
  • 十月 20248
  • 九月 20249
  • 八月 20246
网站资讯
文章数目 :
179
已运行时间 :
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 - 2025 By Echin-h
框架 Hexo|主题 Butterfly
today is a beautiful day
搜索