1:安装
jar:https://github.com/xetorthio/jedis/ (下载源码,使用mvn编译)
学习:http://redis.readthedocs.org/en/latest/index.html
maven包
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.0.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
从官网下载的为源码,须要编译
$ cd redis-2.8.11
$ make
$./install_server
启动和使用(在src目录下)
注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动.
$ ./redis-server redis.conf
redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了.
比如
$ ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
或
/etc/init.d/redis_6379 start |stop
redis.conf一些参数
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
2:helloword
把编译好的jar放到lib下加入项目(jar为2.5)
import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; public class TestRedis { private static final String SERVER_ADDRESS = "192.168.169.128"; //服务器地址 private static final Integer SERVER_PORT = 6379 ; //端口 private Jedis jedis ; @Before public void init(){ jedis = new Jedis(SERVER_ADDRESS, SERVER_PORT); } /** * 操作普通键值对 */ @Test public void test01(){ jedis.set("name", "zhoufeng");//存入1个key=name value=zhoufeng的键值对 String value = jedis.get("name"); //获取key=name的值 System.out.println(value); } /** * 操作List */ @Test public void test02(){ //将zhoufeng 加入students数组的结尾,如果该元素是第一个元素,那么会自动创建students数组 jedis.rpush("students", "zhoufeng"); //将zhangsan加入到students的末尾 jedis.lpush("students", "zhangsan"); //移除students的第一个元素 jedis.lpop("students"); //移除students的最后一个元素 jedis.rpop("students"); //移除制定的元素,第二个参数表示要移除的个数,因为list中是允许出现重复元素的 jedis.lrem("student", 1, "zhangsan") ; //获取students数组的所有元素 List <String> students = jedis.lrange("students", 0, -1) ; System.out.println(students); } /** * 操作Set */ @Test public void test03(){ //添加元素 jedis.sadd("teachers", "zhangsan"); jedis.sadd("teachers", "lisi"); jedis.sadd("teachers", "wangwu"); //判断Set是否包含制定元素 Boolean b1 = jedis.sismember("teachers", "wangwu"); Boolean b2 = jedis.sismember("teachers", "xxxxx"); System.out.println(b1 + " " + b2); //获取Set内所有的元素 Set<String> members = jedis.smembers("teachers"); Iterator<String> it = members.iterator() ; while(it.hasNext()){ System.out.println(it.next()); } // jedis.sunion(keys...) 可以将多个Set合并成1个并返回合并后的Set } /** * 操作带排序功能的Set */ @Test public void test04(){ //添加元素,会根据第二个参数排序 jedis.zadd("emps", 5 , "aaa") ; jedis.zadd("emps", 1 , "bbbb") ; jedis.zadd("emps", 3 , "ccc") ; jedis.zadd("emps", 2 , "ddd") ; //获取所有元素 Set<String> emps = jedis.zrange("emps", 0, -1) ; Iterator<String> it = emps.iterator() ; while(it.hasNext()){ System.out.println(it.next()); } } /** * 存入对象,使用Map作为对象 */ @Test public void test05(){ Map<String , String > car = new HashMap<String , String >() ; car.put("COLOR", "red") ; car.put("SIZE", "2T"); car.put("NO", "京8888"); //存入对象,使用car:01当作key,是为了方便和其他car区分。比如car:02 jedis.hmset("car:01", car); //获取整个对象 Map<String, String> result = jedis.hgetAll("car:01"); Iterator<Entry<String, String>> it = result.entrySet().iterator(); while(it.hasNext()){ Entry<String, String> entry = it.next() ; System.out.println("key:" + entry.getKey() + " value:" + entry.getValue()); } //也可以获取制定的属性 String no = jedis.hget("car:01", "NO") ; System.out.println("NO:" + no); } }
3:监控(redis live)
官网:https://github.com/gleicon/RedisLive
须要安装python环境和一些python包(这里介绍下pip安装python包)
pip安装:
下载网址:https://pypi.python.org/pypi/pip/
解压后使用:python setup.py install 安装
须要安装的包有:
# pip-python install redis
# pip-python install python-dateutil
# pip-python install argparse
从github上下载源码:git clone https://github.com/kumarnitin/RedisLive.git
安装完成后配置redis-live.conf文件
cd RedisLive/src
vi redis-live.conf
redis-live.conf配置如下:
{ "RedisServers": [ { "server": "127.0.0.1", "port" : 6379 } ], "DataStoreType" : "sqlite", "RedisStatsServer": { "server" : "127.0.0.1", "port" : 6385 }, "SqliteStatsStore":{ } }
启动服务即可
./redis-monitor.py –duration 120 &
./redis-live.py &
帮助:
./redis-live.py --help
查看端口:netstat -ntpl |grep python
登入:XXX.XXX.XXX.XXX:8888/index.html
4:主从
复制两个redis.conf文件,从机文件修改 port 和 pidfile ,加上slaveof 127.0.0.1 6379(主)即可
5:HA
环境
主机:127.0.0.1 6379
从机:127.0.0.1 6380
1)手动切换
从机上执行:slaveof no one 使它变为主机
主机上执行:slaveof 127.0.0.1 6380(从机地址)使用它变成从机
查看主从状态:info Replication
2)自动切换(还没整好,参考:http://blog.csdn.net/wilbertzhou/article/details/17784965
http://blog.csdn.net/dc_726/article/details/11694437)
定义两个sentinel1.conf文件,其中端口不同
sentinel monitor redismaster 127.0.0.1 6379 2
sentinel down-after-milliseconds redismaster 30000
sentinel can-failover redismaster yes
sentinel failover-timeout redismaster 900000
sentinel parallel-syncs redismaster 1
相关推荐
**Redis与LabVIEW的整合:RedisinLabVIEW和LabVIEWRedis工具包** Redis是一个高性能的键值数据库,常用于数据缓存和消息队列。它支持丰富的数据类型,包括字符串、哈希表、列表、集合和有序集合。在LabVIEW...
Redis 是一个开源的内存数据结构存储系统,常被用作数据库、缓存和消息代理。在Windows环境下,Redis 的安装和使用与在Linux系统中有所不同。这里我们将详细讨论Windows版Redis 5.0.14的相关知识点。 1. **Redis ...
最近需要在C#中使用Redis,在Redis的官网找到了ServiceStack.Redis,最后在测试的时候发现这是个坑,4.0已上已经收费,后面只好找到3系列的最终版本,最后测试发现还是有BUG或者是我不会用。没有办法,最好找到了...
在Linux系统中安装Redis是一个常见的任务,特别是在搭建服务器或开发基于Redis的数据缓存应用时。Redis是一个开源的、高性能的键值对存储系统,适用于数据缓存、消息队列等多种场景。本文将详细介绍如何在Linux上...
Redis,全称Remote Dictionary Server,是一款开源的、高性能的键值存储系统,广泛应用于缓存、消息队列、数据持久化等多种场景。它以其高效、轻量级的特性,在IT行业中备受青睐,尤其是在互联网领域。在Windows环境...
Redis,全称Remote Dictionary Server,是一款开源的、高性能的键值对存储系统,常被用作数据缓存、消息队列以及数据库等角色。它的设计目标是速度和数据持久化,支持多种数据结构,如字符串、哈希表、列表、集合、...
redis部署6.2.6最新稳定版文档和程序redis部署6.2.6最新稳定版文档和程序redis部署6.2.6最新稳定版文档和程序redis部署6.2.6最新稳定版文档和程序redis部署6.2.6最新稳定版文档和程序redis部署6.2.6最新稳定版文档和...
Redis是一款高性能的键值对数据库,常用于缓存、消息队列等场景。在Windows操作系统上运行Redis,通常需要借助一些额外的工具。标题提到的"redis在win上的运行脚本redis.bat"就是一个帮助用户在Windows环境下启动...
Redis是世界上最受欢迎的开源内存数据结构存储系统,它可以用作数据库、缓存和消息代理。在Windows 64位环境下,Redis的安装和卸载过程是很多开发者和系统管理员需要了解的重要技能。以下是对这些知识点的详细说明:...
Redis Desktop Manager是一款强大的开源图形化界面工具,专为管理和操作Redis键值存储系统而设计。它为用户提供了直观且高效的界面,使得在处理Redis数据库时能够更加便捷。这个压缩包包含的就是这款工具的安装文件...
Redis是一款高性能的键值对内存数据库,被广泛应用于缓存、数据存储等领域。在这个Windows 64位版本的Redis 7.0.5中,我们能够看到一系列关键组件和配置文件,这使得它能够在Windows环境下运行。以下是关于Redis ...
Redis7.0.4.zip,解压缩到D盘根目录后,安装后启动为Windows服务 注意是windows 64位系统才可使用,不支持windows 32位系统使用 已经在Win10,Win11,Windows server 2012系统测试运行可用 使用步骤注意事项: ...
基于前后端分离的应用,无论是否使用Redis,都需要考虑如何进行数据的存储和缓存。下面我将分别介绍基于Redis和无Redis的两种版本的特点。 基于Redis的版本 特点 缓存处理:Redis作为内存数据库可以用来缓存频繁访问...
在Windows上安装Redis的过程涉及到多个步骤,包括启用必要的Windows功能、安装WSL2(Windows Subsystem for Linux 2)、设置默认WSL版本以及在Linux环境中安装Redis。以下是对这些步骤的详细说明: 1. **启用...
Redis 是一个高性能的键值数据库,它以键值对的形式存储数据,广泛应用于缓存、消息中间件、实时分析等领域。在 Windows 环境下,通常需要通过安装过程来设置 Redis 服务,但这里提供的资源是“redis 免安装”,意味...
Redis,全称Remote Dictionary Server,是一款高性能的键值存储数据库,常用于缓存、消息队列等场景。本文将深入探讨Redis的可视化工具及其免安装绿色版的使用,帮助你更好地管理和操作Redis服务器。 首先,了解...
Redis 使用教程详解 Redis 是一个高性能的 NoSQL 键值存储数据库,广泛应用于缓存、任务列表、网站访问统计数据、过期处理、应用排行榜、分布式集群架构中的 session 分离等领域。下面是 Redis 的详细使用教程。 ...
(1)支持Lua脚本:Redis 3.0支持Lua脚本,可以在Redis中执行脚本,大大提高了Redis的灵活性和可扩展性; (2)可插拔模块化:Redis 3.0提供了可插拔的模块化功能,可以根据用户的需求,自定义模块,实现不同的功能...
"Redis++使用说明,windows下编译Redis-Plus-Plus" 在这篇文章中,我们将详细介绍如何在Windows平台下编译Redis++,包括编译hiredis.lib和Win32_Interop.lib静态库文件的过程,然后安装Cmake并编译Redis++,最后...
Redis是一款高性能的键值存储系统,常用于数据库、缓存和消息代理等场景。它支持丰富的数据类型,如字符串、哈希、列表、集合和有序集合。在Windows平台上使用Redis,通常需要通过编译源码或者寻找预编译的二进制...