redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
redis是一种高级的key:value存储系统,其中value支持五种数据类型:
1.字符串(strings)
set mystr "hello world!" //设置字符串类型
get mystr //读取字符串类型
127.0.0.1:6379> set mynum "2"
OK
127.0.0.1:6379> get mynum
"2"
127.0.0.1:6379> incr mynum
(integer) 3
127.0.0.1:6379> get mynum
"3"
由于INCR等指令本身就具有原子操作的特性,
所以我们完全可以利用redis的INCR、INCRBY、DECR、DECRBY等指令来实现原子计数的效果,
假如,在某种场景下有3个客户端同时读取了mynum的值(值为2),然后对其同时进行了加1的操作,
那么,最后mynum的值一定是5。不少网站都利用redis的这个特性来实现业务上的统计计数需求。
2.字符串列表(lists)
3.字符串集合(sets)
4.有序字符串集合(sorted sets)
5.哈希(hashes)