**简介** |
**String类型操作及使用** |
一、操作
1.set:设置key对应的值为string类型的value,而且只能有一个key值
2.setnx:设置key对应的值为string类型的value,如果key已经存在,返回0。NX是not exist的意思
3.setex:设置key对应的值为string类型的value,并制定此键对应的有效期
4.setrange:设置指定key的value值得子字符串
5.mset:一次设置多个key值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。
6.msetnx:和mset一样,但是不会覆盖已经存在的key值
7.get:获取key对应的string值,如果key不存在则返回nil
8.getset:设置key的值,并返回key的旧值
9.getrange:获取key的value值得子字符串
10.mget:一次获取多个key的值,如果对应key不存在则对应返回nil
11.incr:对key的值做加加操作,并返回新的值
12.incrby:同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0
13.decr:对key的值做减减操作
14.decrby:同decr类似,减指定值
15.append:给指定key的字符串追加value,返回新字符串值得长度
16.strlen :取指定key的value值得长度
二、使用RedisTemplate操作Redis
redisTemplate.opsForValue();//操作字符串
由上图可以看出spring中集成的redisTemplate将redis常用的String类型的操作方法都继承了,我们可以直接使用。
三、适用场景
1. 缓存:redis作为缓存层,数据库作为存储,绝大多数请求数据都是从redis读取的,这些值可以以String类型存放进来。
2. 计数器:string类型的一些操作,可以是此类型可以作为一个更好的计数器,实现快速计数,查询缓存的功能。
3.共享session:.出于负载均衡的考虑,分布式服务会将用户信息的访问均衡到不同服务器上,
用户刷新一次访问可能会需要重新登录,为避免这个问题可以用redis将用户session集中管理,
在这种模式下只要保证redis的高可用和扩展性的,每次获取用户更新或查询登录信息
都直接从redis中集中获取。
4 .限速:处于安全考虑,避免用户频繁访问某一接口,可以利用redis限制用户访问的频率。
**总结** |