Redis基础教程-数据类型hash命令之hset与hsetnx的基本用法

hash是redis的一个比较常用的数据类型,这个数据类型也提供了一些常用的方法如hget.hgetall,hincrby,hset,hkeys,hlen,hdel等。

hset是将指定字段的值设置到hash的key中。语法格式hset key field value

我们创建一个新的key user_1,并写入age和sex的值

127.0.0.1:6379> hset user_1 age 30
 (integer) 1
 127.0.0.1:6379> hset user_1 sex male
 (integer) 1

我们设置user_1的age为30,sex为male。我们来获取下user_1的值。获取用hget

127.0.0.1:6379> hget user_1 age
 "30"
 127.0.0.1:6379> hget user_1 sex
 "male"

这里可以看到age和sex的值分别为30和male和设置的一样。hset命令会覆盖key中已经存在的field的值。我们来试下

127.0.0.1:6379> hset user_1 age 80
 (integer) 0
 127.0.0.1:6379> hset user_1 sex female
 (integer) 0
 127.0.0.1:6379> hget user_1 age
 "80"
 127.0.0.1:6379> hget user_1 sex
 "female"

通过获取sex和age的值,我们发现值已经被覆盖了。大家有没有发现第二次设置age和sex的值的返回值是0,不是1,这是为什么呢?因为第一次设置的时候key user_1是不存在的,这个时候redis会创建一个key为user_1的hash数据,第二次hset的时候,key user_1已经存在了,这个时候是不用创建user_1这个key的。

在实际的应用中我们可能会用hash来缓存一些用户信息,这个时候key就可以定义的和用户id相关比如user_1

linux命令中的1,2等数字的解释

很多开发者应该都会使用到linux,关于linux的的一些常用命令可能也都比较熟悉,比如which,git等。我们可能不会关注还有which(1),git(1)这种的写法。

最近看一个英文的书籍,发现文中有which(1)这样的写法,是要实现which(1)的功能,当时就感觉很奇怪,写实现which的功能不就行了吗?为什么还要加个数字1呢!

继续阅读“linux命令中的1,2等数字的解释”