String常用数据操作
-
set key value (例:set name aman)
-
get key (例:get name)
-
del key (例:del name)
-
mset key1 value1 key2 value2 key3 value3 ...(例:mset name aman age 12 sex male ...)
-
mget key1 key2 key3...(例:mget name age sex)
-
strlen key(返回值得长度)
-
append key value (给值追加内容)
如何选用set和mset:
这里分析下一次set发生的过程:客户端传递到服务器(请求时间t1),服务器处理时间(t2)服务器向客户端传递处理结果(t3)
这样的过程重复5次,即 5*(t1+t2+t3),如果用mset,则t1+5*t2+t3,自己权衡下即可
String扩展应用一
分表操作时,如果主键是自增的,造成主键重复怎么办?
Redis提供了对应的解决方法,使用 incr和decr关键字即可
- incr key (例:incr id-----默认自增1)
- incrby key count(例:incrby id 10----自增10)
- incrbyfloat key count(例:incrbyfloat id 12.3----增12.3 )
- decr key(例:decr id---默认减一)
- decrby key count(例:decrby key 10---默认减10)
String扩展应用二
控制热点新闻事件的实效性,如给你喜欢的小哥哥小姐姐投票时,每天一个微信号只能投一次,这个就可以通过这个来解决,即设置数据指定的生命周期,如下:
- setex key timeout(秒) value(例:setex weChatid 10 gegeweida--即gegeweida这个微信号10s后可重新投票)
psetex key timeout(毫秒) value(只是时间单位不同)
注意事项:
返回的结果值,0----fail 1----失败 nil-----返回为空 最大内存----512M
key的命名原则:
表名:主键名:主键值:字段名