• Redis的存储结构:字符类型,散列类型,列表类型,集合类型,有序集合。
  • Redis功能:
  1. 可以为每个key设置超时时间。
  2. 可以通过列表类型来实现分布式队列的操作。
  3. 支持发布订阅的消息模式。
  • 为什么使用Redis?提供了很多命令与redis进行交互,使redis使用十分简单。
  • redis的应用场景:
  1. 数据缓存(商品数据、新闻、热点数据)。
  2. 单点登录。
  3. 秒杀、抢购。
  4. 网站访问排名…。
  5. 应用的模块开发。

    • 在redis解压目录下(redis-3.2.8),执行: make
    • 可以通过:make test  测试编译状态(测试编译状态报错)。

    • 切换到当前目录上级目录:mkdir redis  创建一个redis文件夹(新建的) 。
    • 切换到解压包目录下执行:make install PREFIX=/home/redis  完成安装。
    • 通过:cp  redis.conf   ../redis   将解压目录下面的conf文件复制到新建的redis目录下。


  • 常用命令
  1. ./redis-server ../redis.conf  //启动
  2. ./redis-cli shutdown    //关闭
  3. 以后台进程的方式启动,修改redis.conf   daemonize =yes。
  4. ./redis-cli -h 127.0.0.1 -p 6379  //连接到redis的命令
  5. ./redis-cli                              //访问到redis的控制台

keys pattern  [? / * /[]]   //获得一个符合匹配规则的键名列表

EXISTS key            //判断一个键是否存在 

type key              //去获得这个key的数据结构类型


  • 各种数据(存储)结构的使用

    • 字符类型

一个字符类型的key默认存储的最大容量是512M

赋值和取值

SET key  value

GET key

递增数字
incr key 如果存入的该key值需要实现递增,可以使用incr命令创建key,每次set会自动递增,不至于value手动操作加值 错误的演示: int value= get key; value =value +1; set key value;

key的设计:对象类型:对象id:对象属性:对象子属性
incryby key increment     //递增指定的整数

decr key             //原子递减

append key value        //向指定的key追加字符串

strlen  key          //获得key对应的value的长度

mget  key key..                  //同时获得多个key的value

mset key value  key value  key value …    //同时设置多个key的value

    • 列表类型

list, 可以存储一个有序的字符串列表
LPUSH/RPUSH  key  value: //从左边或者右边push数据

llen key           //获得列表的长度

LPOP/RPOP  key        //取数据
应用场景:可以用来做分布式消息队列

lrange key  start stop     //索引可以是负数, -1表示最右边的第一个元素

lrem key count value  //删除列表指定元素

lset key index value  //设置索引的值

    • 散列类型
hash key value  不支持数据类型的嵌套,比较适合存储对象
hset key field value

hget key filed

hmset key filed value [filed value …]     //一次性设置多个值

hmget key field field …             //一次性获得多个值

hgetall key                    //获得hash的所有信息,包括key和value

hexists key field        //判断字段是否存在。 存在返回1. 不存在返回0  

hdel key field [field …]   //删除一个或者多个字段

    • 集合类型

set 跟list 不一样的点。 集合类型不能存在重复的数据。而且是无序的
sadd key member [member ...]     //增加数据; 如果value已经存在,则会忽略存在的值,并且返回成功加入的元素的数量

srem key member            //删除元素

smembers key              //获得所有数据

sdiff key key …            //对多个集合执行差集运算

sunion                 //对多个集合执行并集操作, 同时存在在两个集合里的所有值

    • 有序集合

zadd key score member           //添加数据

zrange key start stop [withscores]   //去获得元素。 withscores是可以获得元素的分数


  • redis的事务处理
MULTI   //去开启事务
EXEC   //去执行事务

  • 过期时间设置(使用)
expire key seconds  //设置建过期时间
ttl key        //获得key的过期时间

  • 发布订阅命令
publish key value   //发布
subscribe key    //另一台机器订阅
  • 删除key命令

del key


Redis:Linux安装与使用的更多相关文章

  1. Asp.net MVC + Redis(Linux安装Redis)

    最近有幸在工作中用到了redis,玩的还算开心.但是发现Redis在Windows上并不是满血状态的,所以决定安装一个Linux的虚拟机,让Redis在Linux上运行. 虚拟环境 虚拟机,我已经玩了 ...

  2. Redis - (Linux)安装与配置

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: 1:Redis支持数据的持久化,可以将内存 ...

  3. redis linux安装与简单集群配置

    由于项目原因最近在使用redis,把redis的安装以及配置记录下来方便查看. 1.下载 地址http://download.redis.io/releases/  需要哪个版本就使用那个版本 2.解 ...

  4. Redis Linux安装+配置

    1.进入指定目录,下载资源(也可本地下载后复制到指定目录) wget http://download.redis.io/releases/redis-5.0.5.tar.gz 2.解压到指定目录 ta ...

  5. Redis Linux 安装运行实战全记录

    下载Redis 去Redis官网下载最新的Linux包,Redis官方没有Windows版的下载. https://redis.io/ 下载后把包上传到Linux服务器. 安装Redis 1.解压Re ...

  6. redis linux 安装及jedis连接测试

    一.安装配置 1:下载redis下载地址 http://code.google.com/p/redis/downloads/list推荐下载redis-1.2.6.tar.gz,之前这个版本同事已经有 ...

  7. redis linux安装过程回顾

    1,官网wget http://download.redis.io/releases/redis-3.2.9.tar.gz 2,解压 tar zxf redis-3.2.9.tar.gz 后进入解压后 ...

  8. redis linux 安装

    安装 1): wget http://download.redis.io/releases/redis-5.0.2.tar.gz 2): tar xzf redis-5.0.2.tar.gz 3):c ...

  9. Redis Linux 安装部署

    Redis部署文档   Redis部署文档 准备软件: 开始部署: 解压tar包[root@localhost redis]# tar -zxvf redis-3.2.8.tar.gz 进入Redis ...

  10. Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

随机推荐

  1. BIO,NIO,AIO到NETTY

    NIO 近期接触了几个产品都触及NIO,要么应用,要么改造项目,听多了也有些了解,但仍然不能真正理解,工期比较赶,还是要潜心下来看看. NIO是什么呢,应该是NOT-BLOCKING IO的意思,不阻 ...

  2. iOS App转让、转移、迁移(App transfer) -- 仅需四步

    当需要将某个 App 出售给其他开发人员,或想要将其移至其他 App Store Connect 组织,则您需要转让该 App.您无需将 App 从 App Store 下架,即可将其所有权转让给另一 ...

  3. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Grunt的使用简介

    什么是Grunt? Grunt,简而言之,就是运行在Node.js上面的任务管理器(task runner),其可以在任何语言和项目中自动化指定的任务.我们可通过npm来安装Grunt和Grunt插件 ...

  4. LwIP应用开发笔记之七:LwIP无操作系统HTTP服务器

    前面我们实现了TCP服务器和客户端的简单应用,接下来我们实现一个基于TCP协议的应用协议,那就是HTTP超文本传输协议 1.  HTTP协议简介   超文本传输协议(Hyper Text Transf ...

  5. xml 3 字节的 UTF-8 序列的字节 3 无效

    今天在eclipse中编写**.xml文件时,注释中的中文被eclipse识别到错误:3 字节的 UTF-8 序列的字节 3 无效,曾多次遇到该问题,问题的根源是: The cause of this ...

  6. CentOS升级kernel

    CentOS升级kernel 升级命令: yum update kernel yum update kernel-devel yum update kernel-firmware yum update ...

  7. LeetCode 1046. 最后一块石头的重量(1046. Last Stone Weight) 50

    1046. 最后一块石头的重量 1046. Last Stone Weight 题目描述 每日一算法2019/6/22Day 50LeetCode1046. Last Stone Weight Jav ...

  8. LeetCode 453. 最小移动次数使数组元素相等(Minimum Moves to Equal Array Elements) 47

    453. 最小移动次数使数组元素相等 453. Minimum Moves to Equal Array Elements 题目描述 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移 ...

  9. docker安装ES,Kibana

    docker安装ES 1.docker pull elasticsearch:6.8.2 2.docker run -it --name elasticsearch   -d -p 9200:9200 ...

  10. 为何一个@LoadBalanced注解就能让RestTemplate拥有负载均衡的能力?【享学Spring Cloud】

    每篇一句 你应该思考:为什么往往完成比完美更重要? 前言 在Spring Cloud微服务应用体系中,远程调用都应负载均衡.我们在使用RestTemplate作为远程调用客户端的时候,开启负载均衡极其 ...