Redis客户端
自带命令行客户端
命令格式
1 | ./redis-cli -h 127.0 . 0.1 -p 6379 |
修改redis配置文件(解决IP绑定问题)
# bind 127.0.0.1绑定的IP才能访问redis服务器,注释掉该配置
protected-mode yes 是否开启保护模式,由yes该为no
l 默认方式
如果不指定主机和端口也可以
1 | ./redis-cli |
* 默认主机地址是127.0.0.1
* 默认端口是6379
连接超时解决
远程连接redis服务,需要关闭或者修改防火墙配置。
修改防火墙设置:
第一步:编辑iptables
1 | vim /etc/sysconfig/iptables |
在命令模式下,选定要复制的那一行的末尾,然后点击键盘yyp,就完成复制,然后修改
l 第二步:重启防火墙
1 2 3 4 5 | service iptables restart iptables:清除防火墙规则: [确定] iptables:将链设置为政策 ACCEPT:filter [确定] iptables:正在卸载模块: [确定] iptables:应用防火墙规则: [确定] |
多数据库支持
默认一共是16个数据库,每个数据库之间是相互隔离(但是可以使用flushall一次清空所有的库)。数据库的数量是在redis.conf中配置的。
切换数据库使用命令:select 数据库编号(0-15)
例如:select 1
程序客户端之Java客户端Jedis
Jedis介绍
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
添加jar包
1 2 3 4 5 | <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version> 2.9 . 0 </version> </dependency> |
单实例连接
注意事项:需要去设置redis服务器的防火墙策略(临时关闭、永久关闭、端口暴露)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @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(); } |
连接池连接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @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(); } |
测试代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @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
redis是一个key-value的Nosql,我们能操作就只有String类型key以及各种类型value.但是一定要注意我们添加的一般都是字符串,只是会组织为特定数据结构.
set(key ,map,set) --> set(key ,1),set(key ,"2")
注意:要先启动redis服务端
对value为string类型的常用操作
set key value //将字符串值value关联到key
get key //返回key关联的字符串值
mset //同时设置一个或多个 key-value 对
mget //返回所有(一个或多个)给定 key 的值
incr key //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)
decr key //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)
incrBy key //自增多少
decrBy key
对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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步