Redis简介
Redis是一个开源的,数据结构化存储于内存中的软件,可作为数据库、缓存或者消息调度器来使用。支持的数据结构有字符串、哈希散列、列表、集合、有序集合、位图、hyperloglogs以及空间索引等。Redis自身支持复制、Lua脚本、LRU回收、事务以及不同层次的磁盘持久化,并通过Redis Sentinel模式提供高可用,通过Redis集群提供自动分区。
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
Redis支持对数据的原子级操作,也支持可选的数据持久化功能,提供了快照方式和AOF仅追加文件两种方式来进行数据持久化,第一种是对某个时刻完整数据的保存,第二种是将每个写操作指令保存到AOF文件中。两种方式既可同时使用,也可单独使用,如果不需持久话还可以都关闭。
Redis使用ANSI C编写,官方推荐使用Linux类系统进行部署,不提供对windows版本的官方支持。
软件下载
当前最新的稳定版本是5.0.7
- 官方下载页面
- 源码
- redis的Windows版本: 版本较低且不再维护,不建议使用
- 官方Docker镜像
- memurai: 运行在Windows之上的,以Redis源码为根基改造的软件,支持所有Redis以下特性:LRU 选举, 持久化, 复制, 事务, LUA 脚本, 高可用, 发布与订阅, 集群, 模块和流等.
关于不同的版本:
Redis 5
Redis 5.0 is the first version of Redis to introduce the new stream data type with consumer groups, sorted sets blocking pop operations, LFU/LRU info in RDB, Cluster manager inside redis-cli, active defragmentation V2, HyperLogLogs improvements and many other improvements. Redis 5 was release as GA in October 2018.
Redis 4
Redis 4.0 was released as GA in July 2017, newcomers should use Redis 5, but Redis 4 is currently the most production-proven release and will be updated for the next year until Redis 6 will be out. It contains several big improvements: a modules system, much better replication (PSYNC2), improvements to eviction policies, threaded DEL/FLUSH, mixed RDB+AOF format, Raspberry Pi support as primary platform, the new MEMORY command, Redis Cluster support for Nat/Docker, active memory defragmentation, memory usage and performance improvements, much faster Redis Cluster key creation, many other smaller features and a number of behavior fixed.
以下操作均Linux类环境为准。
配置、启动以及交互
-
直接执行
下载Redis发布包(如果是源码的话需要编译)后进入Redis目录下,执行
src/redis-server
即可使用默认配置启动Redis服务器端
src/redis-cli
即可进入客户端进行操作
-
指定配置文件
·src/redis-server /path/to/redis.conf
-
通过命令行参数设置或者替换配置文件中的配置
src/redis-server --port 9999 --replicaof 127.0.0.1 6379
src/redis-server /etc/redis/6379.conf --loglevel debug
下面简单介绍两个配置参数:
- bind:绑定IP,只接收绑定来自绑定IP的请求
- protected-mode:保护模式,默认是yes
绑定IP可以不用密码,只接收来自绑定IP的请求。
没绑定IP时,在保护模式下,没设置密码时只允许本地连接,设置密码允许任何地址请求。
设置主从模式
在不同的主机运行redis实例,设置绑定ip,然后在其中一个配置文件找到下面参数位置进行设置,
replicaof <主redis地址> <主redis端口>
或者启动时在命令行中设置replacaof参数。
两个redis服务器端均启动后,通过客户端连接到服务器端,可以输入info命令查看,在Replication部分可以看到role角色是master或者slave以及相关信息。
Redis支持的不同语言的客户端
https://redis.io/clients#java
使用星图标标识的表示推荐使用。