redis-helloWorld

本文提供了一个使用Java操作Redis的示例,包括单机版、连接池及集群的配置与使用方法。

1新建项目,导入jar包,commons-pool2-2.4.2.jar,jedis_2.9.0.jar

2.代码部分

package cn.sp.redis;

import java.util.HashSet;
import java.util.Set;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;

public class RedisTest {
	/**
	 * 单机版
	 */
	public static void testJedisSingle(){
		Jedis jedis = new Jedis("192.168.75.128",6379);//192.168.75.128
		jedis.set("aa","hello redis");
		String result = jedis.get("aa");
		System.out.println(result);
		//关闭
		jedis.close();
	}
	
	
	/**
	 * 使用连接池
	 */
	public static void testJedisPool()throws Exception{
		//创建一个连接池对象
		//系统中应该是单例的。
		JedisPool jedisPool = new JedisPool("192.168.75.128", 6379);
		//从连接池中获得一个连接
		Jedis jedis = jedisPool.getResource();
		String result = jedis.get("aa");
		System.out.println(result);
		//jedis必须关闭
		jedis.close();
			
		//系统关闭时关闭连接池
		jedisPool.close();
	}
	
	/**
	 * redis集群
	 * @throws Exception
	 */
	public static void testJedisCluster()throws Exception{
		Set<HostAndPort> nodes = new HashSet<>();
		nodes.add(new HostAndPort("192.168.75.128",7001));
		nodes.add(new HostAndPort("192.168.75.128",7002));
		nodes.add(new HostAndPort("192.168.75.128",7003));
		nodes.add(new HostAndPort("192.168.75.128",7004));
		nodes.add(new HostAndPort("192.168.75.128",7005));
		JedisCluster jedisCluster = new JedisCluster(nodes);
		jedisCluster.set("bb", "123");
		String result = jedisCluster.get("bb");
		System.out.println(result);
		//系统关闭时关闭jedisCluster
		jedisCluster.close();
	}
	
	public static void main(String[] args) throws Exception {
		testJedisPool();
	}
}

<think>好的,我现在需要解释一下用户提到的“/redis-cli”是什么。首先,用户可能是指Redis的命令行工具redis-cli。这个工具是Redis自带的,用于与Redis服务器交互。 接下来,我应该确认用户是否了解Redis的基本概念。如果用户不熟悉,可能需要简单介绍一下Redis是一个开源的内存数据库,支持多种数据结构,比如字符串、哈希、列表等。不过用户的问题比较具体,可能已经知道Redis,所以重点放在redis-cli上。 然后,要详细说明redis-cli的功能。比如,连接到本地或远程服务器,执行命令,查看返回结果。例如,输入“redis-cli”默认连接到本地的6379端口,如果服务器在别处,可以用-h指定主机,-p指定端口。还有认证用的-a参数,不过安全起见,可能更推荐使用AUTH命令。 另外,redis-cli的不同模式也很重要。比如交互式模式,用户可以直接输入命令,比如SET、GET等。还有非交互式模式,可以直接在命令行执行单个命令,比如redis-cli SET key value,这样适合脚本中使用。 还有管道模式,用于批量执行命令,或者读取输入流,这对自动化处理数据很有帮助。此外,redis-cli的一些高级功能,比如监控服务器状态、执行Lua脚本、性能测试等,可能也需要提到。 需要注意用户可能的常见使用场景,比如调试、数据操作、性能分析等。同时,提醒一些安全事项,比如避免在生产环境中使用-a参数明文传递密码,而是通过配置文件或者交互式输入。 最后,可以给出一些示例,帮助用户理解如何使用。例如,连接远程服务器,执行基本命令,使用管道导入数据等。确保语言简洁,结构清晰,分点说明,这样用户更容易理解。</think>`redis-cli` 是 Redis 数据库自带的命令行工具(全称 **Redis Command Line Interface**),用于与 Redis 服务器进行交互。它是管理和调试 Redis 的主要工具,支持直接执行 Redis 命令、调试配置、监控服务器状态等功能。 --- ### 主要功能 1. **连接 Redis 服务器** - 默认连接本地 Redis(端口 `6379`): ```bash redis-cli ``` - 连接远程 Redis: ```bash redis-cli -h <hostname> -p <port> -a <password> ``` (注意:`-a` 参数明文传递密码存在安全风险,建议通过交互式输入) 2. **执行 Redis 命令** - 交互式模式(逐行输入命令): ```bash 127.0.0.1:6379> SET key1 "Hello" OK 127.0.0.1:6379> GET key1 "Hello" ``` - 非交互式模式(单次执行命令): ```bash redis-cli SET key2 "World" redis-cli GET key2 ``` 3. **管道模式(Pipeline)** - 批量执行命令(高效处理大量操作): ```bash echo -e "SET key3 100\nINCR key3\nGET key3" | redis-cli ``` 4. **监控与调试** - 实时监控服务器状态: ```bash redis-cli MONITOR ``` - 查看服务器信息: ```bash redis-cli INFO ``` 5. **Lua 脚本支持** - 直接执行 Lua 脚本: ```bash redis-cli EVAL "return redis.call('GET', 'key1')" 0 ``` --- ### 常用参数 | 参数 | 说明 | |------|------| | `-h <host>` | 指定 Redis 服务器地址(默认 `127.0.0.1`) | | `-p <port>` | 指定端口(默认 `6379`) | | `-a <password>` | 认证密码(需服务器启用 `requirepass`) | | `-n <db>` | 选择数据库编号(默认 `0`) | | `--raw` | 显示原始输出(保留数据类型格式) | | `--stat` | 实时统计服务器状态 | | `--scan` | 渐进式遍历所有键(替代 `KEYS *`) | --- ### 使用示例 1. **基本操作** ```bash # 连接并选择数据库 1 redis-cli -n 1 # 设置键值 127.0.0.1:6379[1]> SET user:1001 "Alice" # 获取键值 127.0.0.1:6379[1]> GET user:1001 ``` 2. **导入数据文件** ```bash # 将 commands.txt 中的 Redis 命令批量执行 cat commands.txt | redis-cli --pipe ``` 3. **性能测试** ```bash # 基准测试(10万次 SET 操作,并发 100) redis-cli --benchmark -n 100000 -c 100 ``` --- ### 注意事项 1. 生产环境中避免直接使用 `KEYS *`(可能阻塞服务器),改用 `SCAN`。 2. 敏感操作(如 `FLUSHALL`)需谨慎。 3. 建议通过配置文件设置密码,而非命令行明文传递。 如果需要进一步了解具体命令,可随时提问!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值