redis String类型(字符串)的使用和应用场景

redis是一个高速缓存的key-values数据库,它支持五种的数据类型,包括字符串类型(String)、列表(list)、集合(set)、有序集合(zset)、哈希(hash)。下面我们来详细分析redis String类型(字符串)的使用和应用场景


一、String(字符串类型)

String类型是redis的最基础的数据结构,也是最经常使用到的类型。而且其他的四种类型多多少少都是在字符串类型的基础上构建的,所以String类型是redis的基础。

string 类型的值最大能存储 512MB,这里的String类型可以是简单字符串、复杂的xml/json的字符串、二进制图像或者音频的字符串、以及可以是数字的字符串。


二、String类型常用命令:

1、Redis SET :该命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

例子:

redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456

set testkey free;

通过set命令给restkey这个key值绑定value,当SET在设置操作成功完成时,才返回 OK 。

2、redis get :该命令用于获取指定 key 的值。如果 key不存在,返回 nil 。如果key对应储存的值不是字符串类型,返回一个错误。如下图:

redis get

3、redis getset:该命令用于获取指定的key的旧值,然后按照新值对key进行赋值。当key中没有旧值的时候返回nil,如下:

redis getset

4、redis mget:该命令用于返回多个key的值,当其中某一个KEY的值不存在,返回nil,如下:

redis mget

5、redis Setnx:该命令在指定的 key 不存在时,为 key 设置指定的值。当设置成功时返回 1 ,设置失败则返回 0 。如下:

redis Setnx

6、redis append:该命令用于对key的存储进行追加,如果key已经存在,则在value的末尾追加,如果不存在,直接把指定的value赋值给key,如下图:

redis append


三、String类型常用的场景

1、缓存功能:String字符串是最常用的数据类型,不仅仅是redis,各个语言都是最基本类型,因此,利用redis作为缓存,配合其它数据库作为存储层,利用redis支持高并发的特点,可以大大加快系统的读写速度、以及降低后端数据库的压力。

2、计数器:许多系统都会使用redis作为系统的实时计数器,可以快速实现计数和查询的功能。而且最终的数据结果可以按照特定的时间落地到数据库或者其它存储介质当中进行永久保存。

3、共享用户session:用户重新刷新一次界面,可能需要访问一下数据进行重新登录,或者访问页面缓存cookie,但是可以利用redis将用户的session集中管理,在这种模式只需要保证redis的高可用,每次用户session的更新和获取都可以快速完成。大大提高效率。