字符串类型是redis最基本的类型,如果仅仅使用字符串类型,redis和memcache操作非常相近。唯一不同就是redis字符串可以支持512M,而memcache最多只能支持1M。
例子:设置和获取字符串的值
> set str_name lizhibin
OK
> get str_name
"lizhibin"
S.N | 命令 & 描述 |
---|---|
1 | SET key value 此命令用于在指定键设置值 |
2 | GET key 键对应的值。 |
3 | GETRANGE key start end 得到字符串的子字符串存放在一个键 |
4 | GETSET key value 设置键的字符串值,并返回旧值 |
5 | GETBIT key offset 返回存储在键位值的字符串值的偏移 |
6 | MGET key1 [key2..] 得到所有的给定键的值 |
7 | SETBIT key offset value 设置或清除该位在存储在键的字符串值偏移 |
8 | SETEX key seconds value 键到期时设置值 |
9 | SETNX key value 设置键的值,只有当该键不存在 |
10 | SETRANGE key offset value 覆盖字符串的一部分从指定键的偏移 |
11 | STRLEN key 得到存储在键的值的长度 |
12 | MSET key value [key value ...] 设置多个键和多个值 |
13 | MSETNX key value [key value ...] 设置多个键多个值,只有在当没有按键的存在时 |
14 | PSETEX key milliseconds value 设置键的毫秒值和到期时间 |
15 | INCR key 增加键的整数值一次 |
16 | INCRBY key increment 由给定的数量递增键的整数值 |
17 | INCRBYFLOAT key increment 由给定的数量递增键的浮点值 |
18 | DECR key 递减键一次的整数值 |
19 | DECRBY key decrement 由给定数目递减键的整数值 |
20 | APPEND key value 追加值到一个键 |
具体的操作,这里不列举,看看文档就可以了,我们来看看,redis的字符串可以实现什么好玩的功能。
1)实现计数器
计数器,简单来说是一个自增长的数值,比如用户的投票数,网站的访问次数等等。以往自增长ID,可以通过mysql的自增主键实现,但是性能却不高,而且采用分库分表策略的时候,无法获取唯一的自增ID。通过redis字符串类型,可以实现一个简单的计数器,贴上伪代码!
return incr auto_number
incr命令是增加键的整数值一次,如果键没有被设置,则设置为1,返回自增后的数值。这里利用了redis的原子性,即同一个键只允许一个客户端操作,确保自增值准确。