hget和get redis_redis数据类型及基本操作

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)

一、string类型及基本操作(字符)

string 是 redis 最基本的类型,最大上限是1G 字节。你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。

string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。

set

设置key 对应的值为string 类型的value。

127.0.0.1:6379> set name wh_k

OK

setnx

设置key 对应的值为string 类型的value。如果key 已经存在,返回0,nx 是not exist 的意思。

127.0.0.1:6379> setnx name wh_kgg

(integer) 0

setex

设置key 对应的值为string 类型的value,并指定此键值对应的有效期。例如我们添加一个whk= good 的键值对,并指定它的有效期是10 秒

127.0.0.1:6379> setex whk 10 good

OK

127.0.0.1:6379> get whk

"good"

127.0.0.1:6379> get whk

(nil)

setrange

设置指定key 的value 值的子字符串。例如我们希望替换name某部分字符:

127.0.0.1:6379> set name whk@qq.com

OK

127.0.0.1:6379> get name

"whk@qq.com"

127.0.0.1:6379> setrange name 4 126.com

(integer) 11

127.0.0.1:6379> get name

"whk@126.com"

其中4是指从下标为4(包含4)的字符开始替换,下标从0开始。

mset

一次设置多个key 的值,成功返回ok 表示所有的值都设置了,失败返回0 表示没有任何值被设置。

127.0.0.1:6379> mset num1 12 num2 34 num3 56

OK

msetnx

一次设置多个key 的值,成功返回ok 表示所有的值都设置了,失败返回0 表示没有任何值被设置,但是不会覆盖已经存在的key。

127.0.0.1:6379> msetnx num3 55 num4 78

(integer) 0

127.0.0.1:6379> get num4

(nil)

127.0.0.1:6379> get num3

"56"

get

获取key 对应的string 值,如果key 不存在返回nil

127.0.0.1:6379> get name

"whk@126.com"

127.0.0.1:6379> get name1

(nil)

getset

设置key 的值,并返回key 的旧值。

127.0.0.1:6379> get name

"whk@126.com"

127.0.0.1:6379> getset name whk@qq.com

"whk@126.com"

127.0.0.1:6379> get name

"whk@qq.com"

getrange

获取指定key 的value 值的子字符串,左下标从0开始,右下标从-1开始,当下标超出字符串长度时,将默认为是同方向的最大下标。

127.0.0.1:6379> get name

"whk@qq.com"

127.0.0.1:6379> getrange name 0 4

"whk@q"

127.0.0.1:6379> getrange name -1 -5

""

127.0.0.1:6379> getrange name -5 -1

"q.com"

mget

一次获取多个key 的值,如果对应key 不存在,则对应返回nil。

127.0.0.1:6379> mget num1 num2 num3 num4 num5

1) "12"

2) "34"

3) "56"

4) (nil)

5) (nil)

incr

将 key 中储存的数字值增一。

127.0.0.1:6379> get age

"10"

127.0.0.1:6379> incr age

(integer) 11

127.0.0.1:6379> get age

"11"

ncrby

加指定值 ,key 不存在时候会设置key,并认为原来的value 是 0

127.0.0.1:6379> get age

"11"

127.0.0.1:6379> incrby age 5

(integer) 16

127.0.0.1:6379> get age

"16"

127.0.0.1:6379> incrby age1 5

(integer) 5

127.0.0.1:6379> get age1

"5"

decr

对key 的值做的是减一操作,decr 一个不存在key,则设置key 为-1

127.0.0.1:6379> get age1

"5"

127.0.0.1:6379> decr age1

(integer) 4

127.0.0.1:6379> get age1

"4"

decrby

同decr,减指定值,可为负值。

127.0.0.1:6379> get age1

"4"

127.0.0.1:6379> decrby age1 4

(integer) 0

127.0.0.1:6379> get age1

"0"

127.0.0.1:6379> decrby age1 4

(integer) -4

127.0.0.1:6379> get age1

"-4"

append

给指定key 的字符串值追加value,返回新字符串值的长度。

127.0.0.1:6379> get name

"whk@qq.com"

127.0.0.1:6379> append name .china

(integer) 16

127.0.0.1:6379> get name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值