1.什么是Redis
- Redis是用C语言开发的一个开源的高性能键值对(key - value)内存数据库,是NoSQL数据库。
- 和Memcache这种专业缓存技术相比,它有更优秀的读写性能,丰富的数据类型。
- 它提供了五种数据类型来存储值:字符串类型( string )、 散列类型( hash )、列表类型( list )、集合类型(set)、有序集合类型(sortedset、zset)。
- 它是单进程单线程内存数据库,不存在线程安全问题。
- 它支持并发10W QPS,性能非常优秀,底层采用了IO多路复用。
2.Redis应用场景
- 内存数据库(登录信息、购物车信息等)
- 缓存服务器(商品数据、广告数据等)
- 任务队列(秒杀、抢购、12306等)
- 分布式锁实现
- 支持发布订阅消息模型
- 应用排行榜(有序集合)
- 数据过期处理
3. Redis数据类型
1.string类型
- 赋值语法:
set key value
- 取值语法
get key
- 取值并赋值语法
getset key value
- 数值增减
递增语法:incr key
递减语法:decr key
2.hash类型
- hash类型也叫散列类型,它提供了字段和字段值的映射,字段值只能是字符串类型,不支持散列类型,集合类型等其它类型。如图:
- 赋值语法
hset key field value
- 取值语法
hget key field
3.list类型
- 赋值语法
lpush key value [value . . .]
- 取值语法(返回存储在 key 的列表里指定范围内的元素)
lrange key start stop
4.set类型
- set类型,其中的数据是不重复且没有顺序,集合类型和列表类型对比:
- 赋值语法
sadd key member [member . . .]
- 取值语法
smembers key
5.zset类型
- 赋值语法
zadd key score member [score member . . .]
- 取值语法 按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素(包含两端的元素)
zrange:按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素(包含两端的元素)
zrevrange:按照元素分数从大到小的顺序返回索引从start到stop之间的所有元素(包含两端的元素)
zrange key start stop [withscores]
zrevrange key start stop [withscores]
官方命令大全网址:http://www.redis.cn/commands.html