Java 杂谈Java高级架构师之路

还记得你和Redis初识时它的模样吗?

2019-01-21  本文已影响5人  Java高级架构师之路

起源

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学习资料

上一篇 下一篇

猜你喜欢

热点阅读