自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 redis-zset常用操作和应用场景小结

【学习小结】zset有序集合结构zset应用场景zset集合操作实现排行榜其他以上仅是根据视频学习做了个简单的笔记,初识皮毛,redis的强大远不止此。后面继续研究:1)为什么redis单进程而性能那么高,每s达到十万级别的速度。2)分布式锁。3)redis分布式集群等。。。...

2020-06-10 00:15:55 503

原创 redis-set常用操作和应用场景小结

【学习小结】set结构set常用场景微信抽奖小程序微博微信点赞、收藏、标签集合操作实现微博微信关注模型集合操作实现电商商品筛选

2020-06-10 00:06:40 135

原创 redis-list常用操作和应用场景小结

【学习小结】List结构List应用场景常用数据结构(栈、队列、堵塞队列)微博消息和微信公众号消息

2020-06-09 23:51:35 146

原创 redis-hash常用操作和应用场景小结

【学习小结】redis五种数据结构hash结构hash应用场景对象缓存电商购物车Hash结构优缺点

2020-06-08 23:39:44 171

原创 go httpserver小程序

写了一个httpserver的简单小程序import "net/http"httpserver如下:使用curl模拟客户端发送请求:知识点:1、使用go startserver,不然main函数在http.ListenAndServe监听堵塞,所以使用go另起一个协程实现监听2、使用http.HandleFunc(partern,function(http.ResponseWriter,*http.Request){})HandleFunc接受两个参数,第一个为路由地址,

2020-06-08 23:19:48 139

原创 redis-string常用操作和应用场景小结

【学习小结】string结构string 类型是 Redis 最基本的数据类型,一个 key 对应一个 value。一个键最大能存储 512MB。redis中string常用命令常用操作:set key value //存入字符串键值对,如果 key 已经保存了一个值,那么这个操作会直接覆盖原来的值,并且忽略原始类型。 mset key value [key value...] //存入多个字符串字符串 setnt key value //存入一个不存在的键值对,如果key不存...

2020-06-07 20:02:14 142

原创 go sync.WaitGroup学习小结

在gobyexample中遇到了sync.WaitGroup的例子,很有意思,做个小总结。作用sync.WaitGroup如其名,用于主线程等待goroutine都运行完毕。为什么一定要用sync.WaitGroup,其他方法可以吗?可以,但是不够好用。1)time.Sleep,具体的等待时间无法匹配程序运行的随机时间。2)channel,当然可以,但是大材小用了。而sync.WaitGroup刚刚好。如何使用sync.WaitGroup对象内部有一个计数器,最终从0开始,然后通过如下3个方

2020-06-05 23:21:39 113

原创 Linux-Daemon进程浅析

Daemon进程简介Daemon进程又叫守护进程,是脱离于终端并且在后台运行的进程,脱离终端是为了避免在执行的过程中的信息在终端上显示,并且进程也不会被任何终端所产生的终端信息所打断。一般的生命周期是系统启动到系统停止运行,也可以通过杀死进程的方式来结束进程的生命周期。linux系统中有很多的守护进程,最典型的就是经常看到的服务进程。如何Daemon进程因为daemon进程独立于终端,故使用ps axj命令查看进程时,其终端名(TTY)显示为?,终端前台进程组ID(TPGID)显示为-1

2020-06-04 23:58:15 707

原创 Linux-shell中${} $() ``区别

在shell脚本中,这三种使用均出现过,究根结底,找一下它们使用的相同点和差异$( )和` `——命令替换命令替换与变量替换差不多,都是用来重组命令行的,先完成` `或( )里的命令行,然后将其结果替换出来,再重组成新的命令行。在操作上,这两者都是达到相应的效果,但是建议使用$( ),理由如下:``很容易与''搞混乱,尤其对初学者来说,而$( )比较直观。最后,$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的。[syf@test mpj]$ echo t

2020-06-04 23:22:25 218

原创 自学redis之路

什么是redis REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets..

2020-06-03 23:28:58 204

原创 开启golang之门

@开启golang之门为什么学习golang市场环境,很多互联网大厂使用golang,学好了有更多的就业机会。语言本身,golang是类c的语言,语言的本身语法更友好简单、执行效率高,特别是goroute、channel,可以更好的实现大并发。如何学习快速上手,拿一本将语言的书籍了解一下基本语言光说不练假把式,安装个go环境,可以先从小规模代码开始阅读优秀源码,学习别人的思维参与实际的项目开发,积累项目经验推荐资料go语言编程_许式伟小例子程序学go https://gobyexamp

2020-06-03 00:04:09 148

原创 每日一题by go-2(leetcode 合并2个有序数组)

【题目】给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 nums1 成为一个有序数组。https://leetcode-cn.com/problems/merge-sorted-array/【解题思路】go和python都自带排序函数,代码实现就比较简单,先在nums1后面追加nums2元素,再排序【代码】import "sort"func merge(nums1 []int, m int, nums2 []int, n int) {...

2020-06-02 23:58:46 92

原创 golang errors小实例

第一种方式是使用golang标准库包errors 来定义错误。使用方法很是简单,只需要 return errors.New(“string”) 。 这样就是一个最简单的错误返回。第二种方式是借用struct结构体,创建一个struct的Error()方法,注意这个方法名是Error,不然会出现Bug, 找不到Error方法。https://gobyexample.com/errors...

2020-06-02 09:14:20 125

原创 每日一题by go-1(leetcode-两数之和)

1. 两数之和难度简单8327收藏分享切换为英文关注反馈给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。https://leetcode-cn.com/problems/two-sum/解题思路:暴力解题func twoSum(nums []int, target int) []int { for index, val := ra...

2020-06-01 23:46:53 115

转载 vi/vim编辑器必知必会

一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。(2)很多软件的编辑接口都会主动调用vi。(3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。(4)程序简单,编辑速度快。二、下面先介绍一下vi的基本使用

2020-06-01 22:58:44 176

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除