redis数据类型——String类型

**简介**
      redis是一个开源的,先进的key-value存储,属于非关系型缓存数据库,通常被称为数据结构服务器。redis一共有五种基本的数据类型,String类型、hash类型、list类型以及set(无序集合)和zset(有序集合)。今天主要总结的是String类型。

**String类型操作及使用**
      String类型是最简单的类型,一个key对应一个value,string类型是二进制安全的。redis的string可以包含任何数据,比如JPG图片或者是序列化的对象。
      一、操作
       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();//操作字符串

redis数据类型——String类型redis数据类型——String类型

redis数据类型——String类型

       由上图可以看出spring中集成的redisTemplate将redis常用的String类型的操作方法都继承了,我们可以直接使用。

      三、适用场景
       1. 缓存:redis作为缓存层,数据库作为存储,绝大多数请求数据都是从redis读取的,这些值可以以String类型存放进来。

       2. 计数器:string类型的一些操作,可以是此类型可以作为一个更好的计数器,实现快速计数,查询缓存的功能。

       3.共享session:.出于负载均衡的考虑,分布式服务会将用户信息的访问均衡到不同服务器上,
用户刷新一次访问可能会需要重新登录,为避免这个问题可以用redis将用户session集中管理,
在这种模式下只要保证redis的高可用和扩展性的,每次获取用户更新或查询登录信息
都直接从redis中集中获取。


       4 .限速:处于安全考虑,避免用户频繁访问某一接口,可以利用redis限制用户访问的频率。

**总结**
       redis还有其它的数据类型,可以适用于我们绝大多数的场景,接下来会继续分析redis的其它数据类型,然后在我们需要的时候选择合适的类型来满足我们的要求。