一.概述
字符串类型是redis中最为基础的、常用的数据存储类型,字符串在redis中是二进制安全的,这便意味着该类型存入和获取的数据相同。在redis中字符串类型的value最多可以容纳的数据长度是512M
二进制安全和数据安全是没有关系的。
MySQL-关系型数据库,二进制不安全[存入和取出的编码方式不同,会造成乱码问题]
1. 频繁的编解码浪费大量的系统性能,
2. 频繁的编解码很可能因为码表的不同导致乱码(二进制不安全)
Redis二进制数据
1. 编码只在客户端进行,所以,效率会极高
2. 没有频繁的编解码,不会出现乱码(二进制数据安全)
二.常用命令
1.赋值(相当于map.put)
set key value
设定key持有的指定字符串value,如果该key存在则进行覆盖操作,总是返回OK,如果赋予相同的key,新的value会覆盖老的value
2.取值(相当于map.get)
get key
获取key的value,如果与该key关联的value不是String类型,redis将会返回错误信息,因为get命令只能用于获取String value;如果该key不存在,返回(nil)
3.删除(相当于map.remove)
del key
删除指定的key,返回结果是数字类型,表示删了几条数据,这是一条通用命令,适用于五种数据类型
三.扩展命令
getset key value
先获取该key的值,然后再设置该key的值
incr key
将指定的key的value原子性的递增1,如果该key不存在,其初始值为0,在incr之后其值为1,如果value的值不能转成整型,如hello,该操作将执行失败,并返回相应的错误信息。相当于Java中的++i操作,将结果加1,返回给你
decr key
将指定的key的value原子性的递减1,如果该key不存在,其初始值为0,在incr之后其值为-1,如果value的值不能转成整型,如hello,该操作将执行失败,并返回相应的错误信息。相当于Java中的--i操作,将结果减1,返回给你
append key value
拼揍字符串,如果该key存在,则在原有的value后追加该值,如果该key不存在,则重新创建一个key/value。返回结果是value值的长度
Incrby key increment
将指定的key的value原子性增加increment,如果该key不存在,其初始值为0,在incrby之后,该值为increment如果该值不能转成整型,如hello则失败,并返回错误信息
decrby key decrement
将指定的key的value原子性减少decrement,如果该key不存在,其初始值为0,在decrby之后,该值为-decrement如果该值不能转成整型,如hello则失败,并返回错误信息
注意:incr和decr只能对字符串是数字的进行操作
四.String类型的使用环境
主要用于保存json格式的字符串