redis 概要学习

redis简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

  1. Redis 与其他 key - value 缓存产品有以下三个特点:
  • Redis支持数据的持久化,可保存在磁盘中重复加载使用
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份
  1. readis 的优势
  • 性能高,速度快
  • 丰富的数据类型
  • 原子性
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等特性

redis安装(乌班图系统安装)

在 Ubuntu 系统安装 Redis 可以使用以下命令:

$sudo apt-get update

$sudo apt-get install redis-server

启动 Redis

$ redis-server

查看 redis 是否启动?

$ redis-cli

以上命令将打开以下终端:

redis 127.0.0.1:6379>

127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

redis 127.0.0.1:6379> ping

PONG

以上说明我们已经成功安装了redis。

redis配置

  • 直接修改redis配置文件名:redis.conf
  • 用命令修改配置:进入redis交互界面执行命令:
redis 127.0.0.1:6379> config set config_setting_name  new_config_value
  • 用*号获取所有配置项:
redis 127.0.0.1:6379> config get *

redis数据类型

  • string(字符串):key-value模式,value可以包含任何数据,比如图片或者序列化的对象
  • hash(哈希):是一个键值对的集合,特别适合用于存储对象
  • list(列表):是简单的字符串列表,按照插入顺序排序
  • set(集合):是string类型的无序集合,集合内元素不能相同
  • zset(有序集合):也是string类型元素的集合,且不允许重复成员,通过分数为集合中的成员从小到大排序

redis命令

  1. keys命令
  • del key:删除key
  • dump key:序列化key
  • exists key:检查key是否存在,存在则返回1,不存在返回0
  • expire key seconds:设置key的过期时间,以秒计
  • expire key timestamp:设置key的过期时间,以时间戳计
  • move key db:将当前数据库的key移动到给定数据库db当中
  • persist key:移除key的过期时间
  • rename key newkey:重命名
  • type key:查询key的数据类型
  1. string
  • set key value:将value赋值给key
  • get key:查出key的值
  • del key:删除key的值
  • getrange key start end:返回key中字符串值

    的子字符
  • setrange key offset value:用value参数覆盖key所存储的字符串,从offset位置开始
  • getset key value:设置key的新值,并返回旧值
  • mget key1 key2...:查询多个key的值
  • mset key value[key value...]:同时设置一个或多个key-value
  • strlen key:返回key的字符串长度
  • setnx key value:只有key不存在时设置key的值
  • incr key:将key的数值加1
  • decr key:将key的值减1
  • incrby key increment:将key的值加上给定的增量
  • decrby key decrement:将key的值减去给定的减量
  • append key value:key已经存在且是一个字符串,将value追加到原值的末尾
  1. hash
  • hmset key field1 " " field2 "":设置key中field1和field2的值
  • hget key field1:查出key中field1的值
  • hmget key field1 field2...:或取多个指定字段的值
  • hdel key field1 field2...:删除一个或多个hash表字段
  • hexists key field:检查field是否存在,存在则返回1
  • hgetall key:查询key中的所有字段和值
  • hkeys key:或取hash表中的字段
  • hvals key:或取hash表中所有值
  • hlen key:或取hash表中字段的数量
  • hincrby key field increment:为hash表key中指定的字段的整数值加上增量increment
  1. list
  • lpush key value1 [value2]:把一个或多个插入到列表头部
  • lpop key:移出并获取列表的第一个元素
  • lrange key 0 10:获取列表指定范围内的元素
  • lrem key count value:移除列表元素
  • lset key index value:通过索引设置列表元素的值
  • rpush key value1[value2]:在列表的尾部添加一个或多个值
  • rpop key:移除列表的最后一个元素
  1. set
  • sadd key member1[member2]:向集合添加一个或多个成员
  • scard key:获取集合成员数
  • smembers key:获取集合中的所有值
  • sdiff key1 key2:是相对于key1而言,返回与key2对比中key1里的不同值
  • sinter key1[key2]:返回给定所有集合的交集
  • spop key:移除并返回集合中的一个随机元素
  • srem key member1[member2]:移除集合中一个或多个成员
  1. zset
  • zadd key score1 member1[score2 member2]:向有序集合添加一个或多个成员,或者更新已存在成员的分数
  • zcard key:获取有序集合的成员数
  • zcount key min max:计算在有序集合中区间分数的集合数
  • zincrby key increment member:在有序集合中对指定成员的分数加上增量increment
  • zrange key start stop[withscores]:通过索引区间返回有序集合指定区间内的成员
  • zrank key member:返回有序集合中指定成员的索引
  • zrem key member[member...]:移除有序集合中一个或多个成员
  • zscore key member:返回有序集合中成员的分数值
  • zrevrange key start stop[withscores]:返回有序集合中指定区间内的成员,通过索引,分数从高到低
  1. 连接操作命令
  • quit:关闭连接
  • auth password:简单密码认证
  • help cmd:查看cmd帮助
  • select index:切换到指定数据库
  1. 持久化命令
  • save:将数据同步保存到磁盘
  • bgsave:将数据异步保存到磁盘
  • shutdown:异步保存数据到硬盘,并关闭服务器
  1. 事务命令
  • multi:标记事务开始
  • discard:取消事务
  • exec:执行事务
  • watch key [key...]:监视一个或多个key
  • unwatch:取消对所有key的监视

redis概要学习的更多相关文章

  1. memcache/redis 缓存学习笔记

    0.redis和memcache的区别 a.redis可以存储除了string之外的对象,如list,hash等 b.服务器宕机以后,redis会把内存的数据持久化到磁盘上,而memcache则不会 ...

  2. Androidz之Activity概要学习

    Androidz之Activity概要学习 1.     Activity类概述 Activity(活动)是一个单独的.能获取焦点的,且能与用户交互的东西.所以我们通常在Activity类中的onCr ...

  3. MBR和GPT概要学习

    MBR和GPT概要学习 1.     MBR和GPT 大家所最为熟知的分区方式同时也是最主流的主要有两种:MBR(Master Boot Record)和GPT(GUID Partition Tabl ...

  4. redis入门学习记录(二)

    继第一节 redis入门学习记录(一)之后,我们来学习redis的基本使用. 接下来我们看看/usr/local/redis/bin目录下的几个文件作用是什么? redis-benchmark:red ...

  5. 笔记-redis深入学习-1

    笔记-redis深入学习-1 redis的基本使用已经会了,但存储和读取只是数据库系统最基础的功能: 数据库系统还得为可靠实现这两者提供一系列保证: 数据.操作备份和恢复,主要是持久化: 高可用:主要 ...

  6. 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习

    反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...

  7. redis 高级学习和应用场景

    redis 高级学习 1.redis 复制 2.redis 集群 3.哨兵机制 4.spring 与哨兵结合 5.数据恢复与转移 6.redis 的阻塞分析 redis 实战 1. 数据缓存(热点数据 ...

  8. redis命令学习(二) · THIS SPACE

    列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...

  9. Redis安全学习

    Redis安全学习 一直在听SSRF打Redis,那Redis到底是啥,正式的认真学习一下. 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvat ...

随机推荐

  1. canvas锥形渐变进度条

    从一个渐变圆角进度条浅出画一个圆 开始 这一切需要从一个(简单)的需求开始,在最开始对设计第一眼看到这张图的时候,感觉挺简单的嘛,直接用echarts饼图模拟出来一个就好了 echarts 然后上ec ...

  2. Python连接不上SQL Server的两种根治思路

    连接不上数据库,首先可以排除是代码的问题,连接方式都是千篇一律的. 大多数问题都是本机的两个原因造成的,1.服务没有开启,2.没有启动SQL配置的TCP/IP 下面给出统一解决方案: 首先从开始菜单找 ...

  3. conda虚拟环境安装

    一.背景 需要学习mxnet,建一个conda虚拟软件环境. 二.步骤 1.下载anaconda安装文件:https://mirrors.tuna.tsinghua.edu.cn/anaconda/m ...

  4. MySQL国内镜像下载地址

    最近重新下载MySQL发现官网下载速度不是一般的慢,官网下载要几个钟而且一不注意就被取消下载了,实在受不了 可以使用sohu的镜像:http://mirrors.sohu.com/mysql/MySQ ...

  5. JAVASE(十七) 多线程:程序、进程、线程与线程的生命周期、死锁、单例、同步锁

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.程序.进程.线程的理解 1.1 概念 程序(program)是为完成特定任务.用某种语言编写的一组指 ...

  6. WEB前端程序员需要的网站整理

    前端学习资源实在是又多又广,在这样的一个知识的海洋里,我们像一块海绵一样吸收,想要快速提高效率,平时的总结不可缺少,以下总结了一些,排版自我感觉良好,推送出来. 一.插件类网站 jQuery插件库:h ...

  7. Java实现 LeetCode 524 通过删除字母匹配到字典里最长单词(又是一道语文题)

    524. 通过删除字母匹配到字典里最长单词 给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到.如果答案不止一个,返回长度最长且字典顺序最小的字符 ...

  8. Java实现洛谷 P1428 小鱼比可爱

    题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个"比可爱"比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只 ...

  9. java实现第六届蓝桥杯循环节长度

    循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位. 下面的方法,可以 ...

  10. electron内使用vue-slider-component组件报“$attrs is readonly”错误

    解决办法 安装vue-no-ssr插件 https://www.npmjs.com/package/vue-no-ssr npm install vue-no-ssr --save-dev 代码 &l ...