hset key field value 设置hash field为指定值,如果key不存在,则先创建。 hsetnx 设置hash field为指定值,如果 key 不存在,则先创建。如果 field已经存在,返回0,nx是not exist的意思。
sdiff key1 key2...keyN 返回所有给定key的差集 sdiffstore dstkey key1...keyN 同sdiff,并同时保存差集到dstkey下
sunion key1 key2...keyN 返回所有给定key的并集 sunionstore dstkey key1...keyN 同sunion,并同时保存并集到dstkey下
sinter key1 key2...keyN 返回所有给定key的交集 sinterstore dstkey key1...keyN 同sinter,但是会同时将交集存到dstkey下
srem key member 成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误
sadd key member 成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误
blpop key1...keyN timeout 从左到右扫描返回对第一个非空list进行lpop操作并返回,比如blpop list1 list2 list3 0 ,如果list不存在list2,list3都是非空则对list2做lpop并返回从list2中删除的元素。如果所有的list都是空或不存在,则会阻塞timeout秒,timeout为0表示一直阻塞。当阻塞时,如果有client对ke
lrem key count value 从key对应list中删除count个和value相同的元素。count为0时候删除全部,count为正,则删除匹配count个元素,如果为负数,则是从右侧扫描删除匹配count个元素。复杂度是O(N),N是List长度,因为List的值不唯一,所以要遍历全部元素,而Set只要O(log(N))。 lpop key 从list的头部删除元素,并返回删除元素
ltrim key start end 保留指定区间内元素,成功返回1,key不存在返回错误。O(N)操作。 注意:N是被移除的元素的个数,不是列表长度。
lpush key string 在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。注意:江湖规矩一般从左端Push,右端Pop,即LPush/RPop。 lpushx 也是将一个或者多个value插入到key列表的表头,但是如果key不存在,那么就什么都不在,返回一个false【rpushx也是同样】 rpush key string 同上,在尾部添加
del key1 key2 ....keyN 返回1表示存在,0不存在
10.4 Bash Shell 的操作环境: 是否记得我们登陆主机的时候,屏幕上头会有一些说明文字,告知我们的 Linux 版本啊什么的, 还有,登陆的时候我们还可以给予使用者一些讯息或者欢迎文字呢。此外, 我们习惯的环境变量、命令别名等等的,是否可以登陆就主动的帮我设置好? 这些都是需要注意的。另外,这些设置值又可以分为系统整体设置值与各人喜好设置值, 仅是一些文件放置的地点不同啦!这我们后面也
strings 标准库提供了很多字符串操作相关的函数。这里提供的几个例子是让你先对这个包有个基本了解。 package main import s "strings" import "fmt" // 这里给fmt.Println起个别名,因为下面我们会多处使用。 var p = fmt.Println func main() { // 下面是strings包里面提供的一些函数实例。注意这里
在我们这个项目我们已经使用过集合了,但是现在是时候展示它们结合函数操作符之后有多强大了。关于函数式编程很不错的一点是我们不用去解释我们怎么去做,而是直接说我想做什么。比如,如果我想去过滤一个list,不用去创建一个list,遍历这个list的每一项,然后如果满足一定的条件则放到一个新的集合中,而是直接食用filer函数并指明我想用的过滤器。用这种方式,我们可以节省大量的代码。 虽然我们可以直接用J
外部设备分为两大类: 存储型设备:以存储大量信息和快速检索为目标,在系统中存储持久性信息。 I/O型设备:如显示器、打印机等。 I/O硬件原理 I/O系统 通常把I/O设备及其接口线路、控制部件、通道和管理软件称为I/O系统,把计算机的内存和设备介质之间的信息传送操作称为I/O操作。可按照不同方式对设备进行分类:按I/O操作特性分为输入型设备、输出型设备和存储型设备;按I/O信息交换单位分为字符设