关系型数据库磁盘和内存交互太慢,关键在于内存和磁盘频繁交互。io过多。因为维护在内存,而索引数据在磁盘。
解决办法:所有东西一股脑甩在内存,就是内存数据库产生。
redis特点:
- 开源的(BSD协议),使用ANSI C 编写,基于内存的且支持持久化,高性能的Key-Value的NoSQL数据库
- 支持数据结构类型丰富,有如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。
- 丰富的支持主流语言的客户端,C、C++、Python、Erlang、R、C#、Java、PHP、Objective-C、Perl、Ruby、Scala、Go、JavaScript
- 用途:缓存(StackOverFlow)、数据库(微博)、消息中间件(微博)
对于Redis安装,在学习javaee时就安装过,不过那时安装在win10上,这次使用Redis版本为2.8,安装的操作系统为CentOS6.5
可视化客户端RedisDesktopManager
redis要编译环境支持,所以要安装gcc和tcl
yum -y install gcc tcl
cd后进行make编译
结束后就可以在文件夹/opt/sxt/redis看见了。但是每次启动虚拟机要启动一次服务器,那么如何方便的启动呢?
先把路径配置到环境变量中,因为最终启动都要进入到bin目录来执行
进入redis中的utils,执行脚本,这脚本要在环境变量配置后才可以执行
默认端口6379
please select the redis executable path,就是从环境变量找来的,如果没有配置就是空
Redis key 值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。空字符串也是有效key值(key值都是string类型)
Key取值原则
- 键值不需要太长,消耗内存,且在数据中查找这类键值的计算成本较高
-
键值不宜过短,可读性较差
Redis支持位图(bitmap)
位图不是真正的数据类型,它是定义在字符串类型中
一个字符串类型的值最多能存储512M字节的内容
位上限:2(9+10+10+3)=232b
网友评论