起源
2008年,意大利一家创业公司推出了基于Mysql的网站实时统计系统。但是Mysql实在不适合干这事,特别是对这种实时性要求很高的东西,性能太差了。
不在沉默中灭亡,就在沉默中爆发。当然,牛人一般都会爆发,于是这家公司的创始人就做了一个高性能的数据库-Redis。
2009年,Redis开源发布。
Redis释义
Redis=REmote DIctionary Sever(远程字典服务器)。
Redis是以键值对的方式来存储数据的。
类似于通过拼音,找到相应的汉字。(类比于PHP的关联数组)
特性
支持5中键值对数据类型
字符串、散列、列表、集合、有序集合。
支持数据持久化
Redis数据库中所有的数据都是存储在内存中的。但是可以将内存中的数据,异步存储到硬盘中,从而支持数据的持久化。
功能多样
可以为每个键设置生存时间TTL(Time TO Live),就如解析域名时候的TTL。基于这个特性,可以当缓存使用。
简单稳定
只有3万行代码,便于扩展。
redis命令拾遗
启动redis服务器
redis-server
停止redis服务器
shutdown命令。会先断开所有客户端的连接,然后根据配置做持久化。
发送命令的方式
redis-cli进入command line interface,进行交互输入。
命令返回值
Redis共有5种回复类型:
1、状态回复。如 ping pong、ok等
2、错误回复。如(error) ERR…
3、整数回复
4、字符串回复
5、多行字符串回复
Redis配置的三种方式
redis启动参数配置
redis-server --port 6880
启动时加载配置文件
redis-server /home/vagrant/redis-3.2.4/redis.conf
CONFIG SET 在不重启redis的情况下,动态加载某些配置文件
CONFIG SET loglevel warning
Redis的多数据库
1、Redis默认支持16个数据库
2、自动选择0号数据库,可以随时使用SELECT进行数据库切换
3、Redis不支持自定义数据库名字。
一个Redis实例,对应一个应用。
redis 16个数据库之间的关系,很像16个命名空间。
这16个命名空间,应该属于同一应用。
不应该使用同一个redis实例,存储不同应用的数据。一个空的Redis实例,占用1M左右内存,很轻量。
加群领取包含Redis的全套Java学习资料
网友评论