
命令格式
./redis-cli -h 127.0.0.1 -p 6379
修改redis配置文件(解决IP绑定问题)
# bind 127.0.0.1绑定的IP才能访问redis服务器,注释掉该配置
protected-mode yes 是否开启保护模式,由yes该为no
l 默认方式
如果不指定主机和端口也可以
./redis-cli
* 默认主机地址是127.0.0.1
* 默认端口是6379
远程连接redis服务,需要关闭或者修改防火墙配置。
修改防火墙设置:
第一步:编辑iptables
vim /etc/sysconfig/iptables
在命令模式下,选定要复制的那一行的末尾,然后点击键盘yyp,就完成复制,然后修改

l 第二步:重启防火墙
service iptables restart iptables:清除防火墙规则: [确定] iptables:将链设置为政策 ACCEPT:filter [确定] iptables:正在卸载模块: [确定] iptables:应用防火墙规则: [确定]
多数据库支持
默认一共是16个数据库,每个数据库之间是相互隔离(但是可以使用flushall一次清空所有的库)。数据库的数量是在redis.conf中配置的。

切换数据库使用命令:select 数据库编号(0-15)
例如:select 1
Redis不仅使用命令客户端来操作,而且可以使用程序客户端操作。
现在基本上主流的语言都有客户端支持,比如Java、C、C#、C++、php、Node.js、Go等。
在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。
在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。
Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
单实例连接
注意事项:需要去设置redis服务器的防火墙策略(临时关闭、永久关闭、端口暴露)
@Test
public void testJedis() {
//创建一个Jedis的连接
Jedis jedis = new Jedis("127.0.0.1", 6379);
//执行redis命令
jedis.set("key1", "hello world");
//从redis中取值
String result = jedis.get("key1");
//打印结果
System.out.println(result);
//关闭连接
jedis.close();
}
连接池连接
@Test
public void testJedisPool() {
//创建一连接池对象
JedisPool jedisPool = new JedisPool("127.0.0.1", 6379);
//从连接池中获得连接
Jedis jedis = jedisPool.getResource();
String result = jedis.get("key1") ;
System.out.println(result);
//关闭连接
jedis.close();
//关闭连接池
jedisPool.close();
}
测试代码
@Test
public void testJedisPool() {
JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool");
Jedis jedis = null;
try {
jedis = pool.getResource();
jedis.set("name", "lisi");
String name = jedis.get("name");
System.out.println(name);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (jedis != null) {
// 关闭连接
jedis.close();
}
}
}
redis是一个key-value的Nosql,我们能操作就只有String类型key以及各种类型value.但是一定要注意我们添加的一般都是字符串,只是会组织为特定数据结构.
set(key ,map,set) --> set(key ,1),set(key ,"2")
注意:要先启动redis服务端


mset //同时设置一个或多个 key-value 对
mget //返回所有(一个或多个)给定 key 的值

incr key //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)
decr key //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)
incrBy key //自增多少
decrBy key
keys * //获取所有key列表
del key //删除key
expire key xx //设置key的过期时间(xx秒后过期)
ttl key //查看key的过期时间
select 0-15 //选择库
flushall //清空整个redis服务器数据,所有的数据库全部清空
flushdb //清除当前库,redis中默认有16个数据库,名称分别为0,1,2...15

原文:https://www.cnblogs.com/caocw/p/12245656.html