Redis之字符串

字符串键值结构:

keyvalue
helloworld
counter1
bits10111101
json{
    "product": {
        "id": "2951",
        "name": "testing 01",
        "quantity": 4
    }
}

字符串的value的大小限制为512M

字符串命令

set、get、del

自增incr

假如没有定义 则默认是0

假如非数值类型 则报错

decr:自减

如果key不存在,默认是0,自减后变为-1

incrby:指定增量值

incrby key value     value表示增长的数目

如果key不存在,默认是0,自增后变为value

decrby:指定减量值

decrby key value  value表示减少的数目

如果key不存在,默认是0,自减后变为-value

实战:

1.记录网站每个用户个人主页的访问量???

incr userid:pageview(单线程:无竞争)

2.缓存视频的基本信息(数据源在MySQL中)???

伪代码:

public VideoInfo get(long id) {
	String redisKey = redisPrefix + id;
	VideoInfo videoInfo = redis.get(redisKey);
	if (videoInfo == null) {
		videoInfo = mysql.get(id);
		if (videoInfo != null) {
			//序列化
			redis.set(redisKey, serialize(videoInfo));
		}
	}
	return videoInfo;
}

3.分布式id生成器 ???

 

 

set 、setnx 、set xx

set key value  #不管key是否存在,都设置

setnx key value #key不存在,才设置

set key value xx   #key存在,才设置(相当于更新操作)

mget    mset

mget key1 key2 key3...

#批量获取key,原子操作

mset key1 value1 key2 value2 key3 value3

#批量设置key-value

 

getset、append、strlen

getset key newvalue

#set key newvalue并返回旧的value

append key value

#将value追加到旧的value

strlen key

#返回字符串的长度(注意中文)

incrbyfloat、getrange、setrange

incrbyfloat key 3.5

#增加key对应的值3.5

getrange key start end

#获取字符串指定下标所有的值

setrange key index value

#设置指定下标所有对应的值

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值