文档章节

Linux下Redis安装、配置及客户端开发

小林攻城狮
 小林攻城狮
发布于 2017/09/07 23:17
字数 916
阅读 55
收藏 0

1.安装

可选步骤:安装gcc:yum install gcc-c++

  1. 下载地址:http://redis.cn/download.html
  2. 解压:tar -xzvf redis-4.0.1.tar.gz -C /opt/software
  3. 编译:进入到安装目录(/opt/software/redis-4.0.1),执行make
  4. 安装:进入到src目录(/opt/software/redis-4.0.1/src),执行make install
  5. 安装完成

2.配置

  1. 复制配置文redis.conf件到 /opt/module/redis.conf
  2. 设置后台启动:daemonize yes

3.常用命令

  • 启动:redis-server /opt/module/redis.conf
  • 关闭:redis-cli shutdown(设置密码后关机:./redis-cli -a root shutdown)
  • 连接:redis-cli
  • 设置密码:config set requirepass root(设置连接密码为root)
  • 输入连接密码:auth root
  • 增加记录:set [key] [value]
  • 获取值:get [key]
  • 删除记录:del [key]
  • 所有记录:keys *
  • 所有key总数:dbsize

4.jedis开发

  1. 依赖
<dependency>
	<groupId>redis.clients</groupId>
	<artifactId>jedis</artifactId>
	<version>2.9.0</version>
</dependency>
  1. Java代码
Jedis jedis=new Jedis("192.168.180.129",6379); // 创建客户端 设置IP和端口
jedis.auth("root");
jedis.set("hello", "Hello, redis!");
Set<String> keys = jedis.keys("*");
for(String key : keys) {
	System.out.println("key:"+key+", value:"+jedis.get(key));
}
jedis.close(); // 释放连接资源
  1. 异常处理(连接超时)
  • 更改防火墙设置
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
  • 注释本机绑定设置 在redis配置文件中,注释 bind 127.0.0.1
  • 关闭自我保护
protected-mode yes 更改为 no
  1. redis连接池
JedisPoolConfig config=new JedisPoolConfig(); // 连接池的配置对象
config.setMaxTotal(100); // 设置最大连接数
config.setMaxIdle(10); // 设置最大空闲连接数  
JedisPool jedisPool=new JedisPool(config,"192.168.180.129",6379);
Jedis jedis=null;
try{
           jedis=jedisPool.getResource(); // 获取连接
           jedis.auth("root"); // 设置密码
           jedis.set("hello", "Hello, redis!");
           Set<String> keys = jedis.keys("*");
           for(String key : keys) {
	         System.out.println("key:"+key+", value:"+jedis.get(key));
           }           
}catch(Exception e){
            e.printStackTrace();
}finally{
            if(jedis!=null){
                jedis.close();
            }
            if(jedisPool!=null){
                jedisPool.close();
            }
}

5.数据结构

  1. 键(key)
  • keys *
  • exists key的名字:判断某个key是否存在
  • move key db :当前库就没有了,被移除,相当于剪切操作
  • expire key 秒钟:为给定key设置过期时间
  • ttl key:查看还有多少秒过期,-1表示永不过期,-2表示已过期
  • type key:查看key是什么类型

2.字符串(String)

  • set/get/del/append/strlen
  • incr/decr/incrby/decrby:一定要是数字才能加减
  • getrange/setrange:类似于substring
  • setex(set with expire)键秒值/setnx(set if not exist)
  • mset/mget/msetnx:批量操作
  • getset:先get再set

3.列表(List)

  • lpush/rpush/lrange(l:left:先进后出,r:right:先进先出,lrange list 0 -1)
  • lpop/rpop(l:left:栈顶移出,r:right:栈底移出)
  • lindex:按照索引下标获得元素(从上到下)
  • llen:list长度
  • lrem key 删除N个 value:(lrem list 2 3,删除list中2个3)
  • ltrim key 开始index 结束index:截取指定范围的值后再复制给key
  • rpoplpush 源列表 目的列表:
  • lset key index value
  • linsert key before/after 值1 值2

4.集合(Set)

  • sadd/smembers/sismember
  • scard:获取集合中的元素个数
  • srem key value:删除集合中的元素
  • srandmember key 某个整数:随机出几个数
  • spop key:随机出栈
  • smove key1 key2 key1中某个值:将key1中的某个值赋给key2
  • 数学集合列,sdiff(差集),sinter(交集),sunion(并集)

5.哈希(Hash)

  • hset/ hget/hmset/hmget/hgetall/hdel
  • hlen
  • hexists key 在key中的某个值得key
  • hkeys/hvals
  • hincrby/hincrbyfloat
  • hsetnx

6.有序集合(Sorted set)

  • zadd/zrange(zset key score value,zrange key 0 -1 【withscores】)
  • zrangebyscore key 开始score 结束score(withscores,【(】不包含,limit start len)
  • zrem key 某score下对应的value值,作用是删除元素
  • zcard/zcount key score区间/zrank key values值:作用是获得下标值/zscore key对应值,获得分数
  • zrevrank key values值:作用是逆序获得下标值
  • zrevrange
  • zrevrangebyscore key 结束score 开始score

6.主从复制

  • info replication:查看主从配置信息
  • slaveof [ip_addr] [port]:配置从机的主机
  • slaveof no one:从机变主机

7.哨兵模式

  • sentinel monitor <master-name> <ip> <redis-port> <quorum>
  • redis-sentinel [sentinel配置文件]

© 著作权归作者所有

小林攻城狮
粉丝 21
博文 13
码字总数 3903
作品 0
程序员
私信 提问
Linux 安装Redis 详细教程

在windows下使用redis只要下载解压后启动就可以了,但是在linux下和windows下还是有些区别的,下面我们详细看看linux下redis的安装、配置、使用过程。 一、环境说明 1.Linux 操作系统 本文使...

MaxBill
2018/09/10
154
0
Redis详解(一)------ redis的简介与安装

  工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的博客将整体的介绍 Redis 的用法。 1、Redis 的简介   Redis:REmote DIctionary Server(远程字典服务)。   是由意大利...

ysocean
2018/05/25
0
0
Redis进阶实践之二如何在Linux系统上安装安装Redis

Redis进阶实践之二如何在Linux系统上安装安装Redis 一、引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统。那是第一步,有了Linux操作系统,我们才可以在该系...

morpheusWB
2018/09/13
16
0
超好用的Redis管理及监控工具treeNMS

Redis做为现在web应用开发的黄金搭担组合,大量的被应用,广泛用于存储session信息,权限信息,交易作业等热数据。做为一名有10年以上JAVA开发经验的程序员,工作中项目也是广泛使用了Redis,...

李朝强
01/07
130
0
从JAVA客户端访问Redis示例(入门)

本文记录了安装Redis和从JAVA端访问Redis的步骤 从http://download.csdn.net/detail/kkdelta/4034137 下载本文所需文件. 1,在Linux上安装Redis服务. 下面的操作的base dir为 /root/4setup t...

晨曦之光
2012/04/25
2.2K
2

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部