redis是什么

Redis是一种基于内存的数据结构存储,可持久化的日志型、Key-Value数据库。使用关系型数据库的站点达到一定并发量的时候,往往在磁盘IO上会有瓶颈,这时候配合redis就有一定的优势,因为它具有以下几个特性:

  • 基于内存运行,高并发读写;
  • 支持分布式,理论上可以无限扩展;
  • 丰富的数据类型;
  • 持久化,可定时写入磁盘;

应用场景

  • 缓存“热点”数据(高频读、低频写)
  • 计数器,限流器
  • 消息队列系统(发布订阅,排行榜)
  • 分布式锁,共享session,队列

数据类型:

Redis提供的数据类型主要分为5种自有类型和一种自定义类型,这5种自有类型包括:

字符串(String)类型、哈希(Hash)类型、列表(List)类型、集合(Set)类型和顺序(Sorted Set)集合类型。

String类型:

能够存储字符串、还能存储图片、视频等多种类型, 最大长度支持512M。操作命令,如:

  • GET/MGET
  • SET/SETEX/MSET/MSETNX
  • INCR/DECR
  • GETSET
  • DEL

哈希类型:

该类型是由field和关联的value组成的map。其中,field和value都是字符串类型的。操作命令如下:

  • HGET/HMGET/HGETALL
  • HSET/HMSET/HSETNX
  • HEXISTS/HLEN
  • HKEYS/HDEL
  • HVALS

列表类型:

该类型是一个插入顺序排序的字符串元素集合, 基于双链表实现。操作命令如下:

  • LPUSH/LPUSHX/LPOP/RPUSH/RPUSHX/RPOP/LINSERT/LSET
  • LINDEX/LRANGE
  • LLEN/LTRIM

集合类型:

Set类型是一种无顺序集合, 它和List类型最大的区别是:集合中的元素没有顺序, 且元素是唯一的。

Set类型的底层是通过哈希表实现的,其操作命令为:

  • SADD/SPOP/SMOVE/SCARD
  • SINTER/SDIFF/SDIFFSTORE/SUNION

Set类型主要应用于:在某些场景,如社交场景中,通过交集、并集和差集运算,通过Set类型可以非常方便地查找共同好友、共同关注和共同偏好等社交关系。

顺序集合类型:

ZSet是一种有序集合类型,每个元素都会关联一个double类型的分数权值,通过这个权值来为集合中的成员进行从小到大的排序。

与Set类型一样,其底层也是通过哈希表实现的。ZSet命令:

  • ZADD/ZPOP/ZMOVE/ZCARD/ZCOUNT
  • ZINTER/ZDIFF/ZDIFFSTORE/ZUNION

快速安装yum install redis

  • 直接yum安装redis不是最新版本,可以通过Remi安装最新Redis。

yum install -y epel-release

yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Remi的RPM仓库维护着最新和额外的软件包,最好先安装 EPEL ,因为 Remi 仓库依赖它。

  • 使用下面命令安装最新版本Redis:

yum --enablerepo=remi install redis

  • 安装完毕后,即可启动redis服务,并开机自启动

systemctl start redis

systemctl enable redis

  • 查看redis版本:

redis-cli --version

redis默认127.0.0.1访问,开启远程登录切记设置密码!!!

常用命令

  • 测试时常用命令
redis客户端连接:
本地连接:redis-cli
远程连接:redis-cli -h host -p port -a password PING 查看服务是否运行 SELECT index 切换到指定的数据库
select 0 选择第一个库 keys * 获取所有的key flush db 清除指定库
flushall 清除所有
  • 几种类型常用命令
string
set key value
get key
hash
hset myhash name cxx
hget myhash name
list
lpush mylist a b c 左插入
rpush mylist x y z 右插入
lrange mylist 0 -1 数据集合
lpop mylist 弹出元素
rpop mylist 弹出元素
llen mylist 长度
lrem mylist count value 删除
set
sadd myset redis
smembers myset 数据集合
srem myset set1 删除
zset
zadd zset 1 one
zadd zset 2 two
zadd zset 3 three

参考链接

centos7 yum安装redis及常用命令的更多相关文章

  1. centos7 yum安装redis(转)

    正如我们所知的那样,Redis是一个开源的.基于BSD许可证的,基于内存的.键值存储NoSQL数据库.Redis经常被视为一个数据结构服务器,因为Redis支持字符串strings.哈希hashes. ...

  2. Linux下安装redis以及常用命令

    https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...

  3. yum 安装redis 及简单命令(推荐测试环境,安装简单)

    第1章 redis 入门 1.1 yum 安装 安装repo源 cd /etc/yum.repos.d/ wget http://mirrors.aliyun.com/repo/epel-6.repo ...

  4. centos7 yum 安装 redis

    //从中国科学技术大学开源镜像站 wget http://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.r ...

  5. centos利用yum安装卸载软件常用命令

    来自:http://tech.v01.cn/Linuxchangjianwenti/changyongruanjiananzhuangyucao/2012/0119/70.html 一.使用yum安装 ...

  6. Centos 利用yum安装卸载软件常用命令[转载]

    一.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲 ...

  7. CentOS 利用 yum 安装卸载软件常用命令

    一.yum安装和卸载软件 有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突, ...

  8. 在CentOs7上yum安装redis

    在开始安装步骤之前,先把我的CentOs和redis版本号列出来: # 系统/软件 版本号 1 CentOS7 CentOS Linux release 7.2.1511 (Core) 2 redis ...

  9. Linux(Centos7)yum安装最新redis

    正如我们所知的那样,Redis是一个开源的.基于BSD许可证的,基于内存的.键值存储NoSQL数据库.Redis经常被视为一个数据结构服务器,因为Redis支持字符串strings.哈希hashes. ...

随机推荐

  1. PAT 2-07. 素因子分解(20)

    题目链接:http://www.patest.cn/contests/ds/2-08 题目意思:long int范围内的正整数N进行素因子分解. 直接整除即可,不需要素数筛选 代码如下: #inclu ...

  2. 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法

    笔者在之前已经写了一系列的关于RestTemplate的文章,如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层HT ...

  3. JavaScript学习系列博客_11_JavaScript中的for语句

    for循环 - 语法: for(①初始化表达式 ; ②条件表达式 ; ④更新表达式){ ③语句... } - 执行流程: 首先执行①初始化表达式,初始化一个变量,(这里只会执行一次) 然后对②条件表达 ...

  4. Goland远程连接Linux开发调试

    参考链接: https://blog.csdn.net/huwh_/article/details/77879152?utm_source=blogxgwz3 https://baijiahao.ba ...

  5. Java抽象类简述

    Java 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不 ...

  6. 用Python的Pandas和Matplotlib绘制股票KDJ指标线

    我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...

  7. HTTP系列之跨域资源共享机制(CORS)介绍

    前言 本文将继续解析详解HTTP系列1中的请求/ 响应报文的首部字段,今天带来的跨域资源共享(CORS)机制,具体内容包括CORS的原理.流程.实战,希望能给大家带来收获! CORS简介 跨域资源共享 ...

  8. [HAOI2007]修筑绿化带 题解

    题意分析 给出一个 $m*n$ 的矩阵 $A$ ,要求从中选出一个 $a*b$ 的矩阵 $B$ ,再从矩阵 $B$ 中选出一个 $c*d$ 的矩阵 $C$ ,要求矩阵 $B,C$ 的边界不能重合,求矩 ...

  9. Unity调用PC摄像头

    转载于Unity3d圣典里面,具体哪位大侠写的我忘咯. using UnityEngine; using System.Collections; public class CameraTest : M ...

  10. SpringBoot系列之从入门到精通系列教程

    对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 Spring框架:作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多, ...