文档章节

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

小林攻城狮
 小林攻城狮
发布于 2017/09/07 23:17
字数 916
阅读 43
收藏 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配置文件]

© 著作权归作者所有

共有 人打赏支持
小林攻城狮
粉丝 16
博文 13
码字总数 3868
作品 0
程序员
Redis详解(一)------ redis的简介与安装

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

ysocean
05/25
0
0
Redis 安装及配置 (转整理)

Redis 安装及配置 (转整理) Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合...

rootliu
05/28
0
0
Linux系统中安装Redis经验

Linux系统中安装Redis经验 首先从官网上下载Redis :http://redis.io/download Redis服务器端的默认端口是6379。q 操作Linux系统: cd / :回到根目录 cd opt/ :进入opt文件 mkdir redis :创建...

Z-向上
2017/10/30
0
0
windows、linux环境下的Redis 安装

windows、linux环境下的Redis 安装 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases。 Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下...

优惠券活动
07/20
0
0
centOS6安装redis3.2.9

到官网下载好redis3.2.9的压缩包,并上传到linux服务器中 使用yum命令安装所需依赖 解压redis压缩包 并移动到/usr/local/redis3 进入redis3.2.9 使用make命令编译 安装完成,打开redis.conf配置...

zped
06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流量劫持是如何产生的?

流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由...

谢思华
15分钟前
0
0
Hadoop Client无法使用maven下载源码

最近在学习hadoop,使用maven的时候想看一下源码的注释,结果IDEA一直提示无法下载 搞得我一度以为maven坏掉了。 但是通过搜索,发现在maven仓库里确实没有源码.... 而2.8.1以及之前的版本是...

Iceberg_XTY
17分钟前
0
0
为什么程序员千万不要重写代码?

你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根。 图片来自网络 0 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的...

Java小铺
18分钟前
0
0
VUE集成AdminLte

1. 安装需要到插件 npm i admin-lte -Snpm i jquery -Snpm i axios -Snpm i vue-router -S 2. 配置webpack.config.js 2.1 module.exports.module.rules修改字体loader: {test: /\.(p......

Pasenger
57分钟前
0
0
Spring Aop原理之切点表达式解析

在前面的文章(Spring AOP切点表达式详解)中,我们总结了Spring Aop切点表达式的用法,而在上文(Spring Aop原理之Advisor过滤)中我们讲到,切点表达式的解析主要是在PatternParser.parse...

爱宝贝丶
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部