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
相关推荐
Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows ...
Redis7.0.4.zip,解压缩到D盘根目录后,安装后启动为Windows服务 注意是windows 64位系统才可使用,不支持windows 32位系统使用 已经在Win10,Win11,Windows server 2012系统测试运行可用 使用步骤注意事项: ...
基于前后端分离的应用,无论是否使用Redis,都需要考虑如何进行数据的存储和缓存。下面我将分别介绍基于Redis和无Redis的两种版本的特点。 基于Redis的版本 特点 缓存处理:Redis作为内存数据库可以用来缓存频繁访问...
Redis是一种开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。Redis可以用作数据库、缓存和消息中间件。Redis在性能、可扩展性和灵活性方面表现出色,因此被广泛应用于Web...
redis安装 1: 下载redis-5.0.4.tar.gz 2: 解压源码并进入目录 tar zxvf redis-5.0.4.tar.gz cd redis-5.0.4 3: 不用configure 4: 直接make (如果是32位机器 make 32bit) 查看linux机器是32位还是64位的方法:...
redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-...
注意:由于本人配置redis.conf中的路径使用的是绝对路径,当前redis安装目录的父目录为D:\InstallDir,可以在每个配置文件中修改为自己指定的路径位置 redis638-.conf配置文件内容 #redis服务器端口号 port 6380 #...
在使用redis集群时,发现过期key始终监听不到。网上也没有现成的解决方案。于是想,既然不能监听集群,那我可以建立多个redis连接,分别对每个redis的key过期进行监听。以上做法可能不尽人意,目前也没找到好的解决...
本文档基于以前写的《Redis-3.0.5集群配置》和《Redis-4.0.11集群配置》。 redis-3.0.0开始支持集群,redis-4.0.0开始支持module,redis-5.0.0开始支持类似于kafka那样的消息队列。 本文参考官方文档而成:...
redis-desktop-manager-0.8.3.3850.rar windows平台安装文件 Redis Desktop Manager(redis桌面管理器)是一款非常实用的跨平台Redis桌面管理软件。也被称作Redis可视化工具,是一款开源软件,支持通过SSH Tunnel连接...
1、什么是 Redis? 2、Redis 相比 memcached 有哪些优势? 3、Redis 支持哪几种数据类型? 4、Redis 主要消耗什么物理资源? 5、Redis 的全称是什么? 6、Redis 有哪几种数据淘汰策略? 7、Redis 官方为什么不提供 ...
本地安装redis,通过安装目录下的redis客户端程序可以连接任意Redis服务(只要服务端是启动着的),命令 redis-cli -h ip -p port。如果服务端要求认证资格,可能还要输入用户名密码等参数。 Redis命令十分丰富,...
本资源可结合我的文章《详解CentOS7下编译安装Redis5.x设置开机启动及修改端口(含redis需编译安装包和redis免编译安装包)》配合使用,同时也可单独去使用。包含redis3.0.7免编译版安装包,redis5.0.7离线安装包,...
SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+...
1、redis_4.0.10-1_arm64.deb 银河麒麟v4+飞腾 安装包 2、自带服务启动 3、目录树 /opt/redis-4.0.10/ ├── bin │ ├── redis-benchmark │ ├── redis-check-aof │ ├── redis-check-rdb │ ├── ...
2016122201_Redis_初探_1.mp4 2016122201_Redis_初探_2.mp4 2016122201_Redis_初探_3.mp4 2016122202_Redis_安装_字符串键_1.mp4 2016122202_Redis_安装_字符串键_2.mp4 2016122202_Redis_安装_字符串键_3.mp4 ...
右键解压Redis压缩包,把所有文件解压到指定的redis文件夹中 1.配置redis.windows.conf文件,除了port配置为对应的端口外,其他根据需要可更改的配置项说明如下: (1)bind 127.0.0.1 (line:79) # 设置为其他机器...
redis桌面链接工具redis-desktop Redis Desktop Manager(简称RDM)是一款跨平台的Redis数据库管理工具,它提供了一个直观且用户友好的图形界面,允许开发者和运维人员轻松地连接到Redis服务器,并对其进行管理和...
1.2.6版StackExchange.Redis。 StackExchange.Redis是.net下的Redis客户端之一,目前是免费的。而用户量比较多的ServiceStack.Redis现在是收费的。把下载的三个文件(StackExchange.Redis.dll、StackExchange.Redis....
Redis是一个key-value存储系统,是当下互联网公司常用的NoSQL数据库之一,是进入互联网行业的Java开发工程师必备技术。 在本课程中,你将了解Redis是什么、能干什么、如何用,了解NoSQL的使用场景和概念,快速掌握...