前言:
Redis是由C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型有字符串类型、散列类型、列表类型、集合类型、有序集合类型。
Redis的应用场景:
1)缓存:数据查询、短连接、新闻内容、商品内容等
2)聊天室的在线好友列表
3)任务队列:秒杀、抢购、12306等等
4)应用排行榜
5)数据过期处理
6)分布式集群架构中的session分离
Redis数据结构:
redis是一种高级的key-value的存储系统,其中value支持五中数据类型。
1)字符串(String)
2)哈希(hash)
3)字符串列表(list)
4)字符串集合(set)
5)有序字符串集合(sorted set)
注意:
1)key不要太长,最好不要操作1024个字节,这不仅会消耗内存还会降低查找效率
2)key不要太短,如果太短会降低key的可读性
3)在项目中,key最好有一个统一的命名规范
Redis特性:
1)多数据库:
一个redis实例可以包括多个数据库,客户端可以指定连接某个redis实例,如同一个mysql中创建多个数据库,客户端连接时指定连接哪个数据库。
一个redis实例最多可提供16个数据库,下标从0到15,客户端默认连接第0号数据库,也可以通过select选择连接哪个数据库。
2)服务器命令
a:ping:测试连接是否存活
b:echo:在命令行打印一些内容
c:select:选择数据库,redis数据库编号从0~15,可以选择任意一个数据库进行数据的存取
d:quit:退出连接
e:dbsize:返回当前数据库中key的数目
f:info:获取服务器的信息和统计
g:flushdb:删除当前选择数据库中的所有key
h:flushall:删除所有数据库中的所有key
3)消息订阅与发布:
subscribe channel:订阅频道
psubscribe channel:批量订阅频道
publish channel content:在指定的频道中发布消息
4)redis事务:
和众多其他数据库一样,redis做为NoSQL数据库也同样提供了事务机制,在redis中,MULTI/EXEC/DISCARD这三个命令是实现事务的基石。