redis学习第一天
不同于其他的常用关系型数据库,redis是一个非常轻便,体积小,存放键值对的数据库,常用于构建高性能,可扩展的Web应用程序。
这是我第一次接触redis,之前没有使用过,只听说过。因为刚毕业,找工作的时候会遇到面试官问这方面的问题,所以才打算自学一下。
废话不多说,进入正题!
先介绍一下redis的特点和优势:
Redis有三个主要特点,使它优越于其它键值数据存储系统 -
- Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。
- 与其它键值数据存储相比,Redis有一组相对丰富的数据类型。
- Redis可以将数据复制到任意数量的从机中。
以下是Redis的一些优点。
- 异常快 - Redis非常快,每秒可执行大约
110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。 - 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
- 操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
- 多实用工具 - Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。
下载地址:https://github.com/MSOpenTech/redis/releases
这边就默认已经安装好redis。
redis的数据类型有String、list、hash、set、zset(sorted set)等等,redis命令不区分大小写
对于String类型,可以通过get和set进行值的存取操作 例如:set name ‘lsd’ -->为key name设置值为lsd 。 get name 取出name的值
list是列表类型,添加一个元素到列表的头部(左边)或者尾部(右边),命令分别为lpush和rpush,获取指定区间内的列表元素lrange。例如lrange 1 5表示获取1-5的元素,也可以使用负数,-1表示结尾,-2表示倒数第二个元素,lpushx表示插入头部
hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。删除哈希表元素命令hdel,查看是否存在指定key的命令hexists,获取单个值hget,所有值hgetall,设定值hset,获取哈希表元素数量hlen
set集合成员不允许重复。常用命令添加元素sadd,获得集合成员数scard,获取所有成员数smembers,移除成员命令srem
zset类似于set,只不过他是有序的,每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。命令也类似的有zadd,zcard,zrem,计算在有序集合中指定区间分数的成员数zcount
redis学习第一天的更多相关文章
- Redis 学习第一课:安装Linux Redis(Ubantu)
对于分布式缓存,之前公司项目中只使用了MemCached,使用比较方便,有现成的C#版本组件. 如今用Redis的公司有很多,所以打算了解一下Redis. Redis的官网地址:http://redi ...
- redis 学习笔记(6)-cluster集群搭建
上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- Redis——学习之路三(初识redis config配置)
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- Redis学习笔记一:数据结构与对象
1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...
- Redis学习笔记(三)Redis支持的5种数据类型的总结
继续Redis学习笔记(二)来说说剩余的三种数据类型. 三.列表类型(List) 1.介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一段片段.列表类型内部是 ...
- Redis 学习笔记4: Redis 3.2.1 集群搭建
在CenOS 6.7 linux环境下搭建Redis 集群环境 1.下载最新的Redis版本 本人下载的Redis版本是3.2.1版本,下载之后,解压,编译(make): 具体操作可以参考我的博文:R ...
- 从.Net到Java学习第一篇——开篇
以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...
随机推荐
- 最优运输(Optimal Transfort):从理论到填补的应用
目录 引言 1 背景 2 什么是最优运输? 3 基本概念 3.1 离散测度 (Discrete measures) 3.2 蒙日(Monge)问题 3.3 Kantorovich Relaxation ...
- 分析型CRM系统都分析什么?
在之前的文章中我们曾经讲过,目前市面上常见的CRM系统大概可以分为通用型.协助型和分析型三种类型.由于每个企业的类型.业务的不同,就需要选择一款适合的CRM客户关系管理系统.今天我们就来说一说,分析型 ...
- CentOS 7系统中的时间日期设置
修改 CentOS 7系统中的时间日期设置 timedatectl set-ntp no timedatectl timedatectl set-time 2022-06-04 timedatectl ...
- Win10开启移动热点
Win10开启移动热点 禁用 无线网卡 启动 无线网卡
- ubuntu中安装visual studio code-(转载)
在Ubuntu中安装Visual Studio Code 编译自:http://itsfoss.com/install-visual-studio-code-ubuntu/ 作者: Abhishek ...
- brk 和 sbrk 区别
转自:https://www.cnblogs.com/chengxuyuancc/p/3566710.html brk和sbrk的定义,在man手册中定义了这两个函数: 1 #include < ...
- stm32中关于NVIC_SetVectorTable函数使用的疑惑与理解
[转载]2017年12月4日14:48:29 先描述下这几天碰到的一个奇怪的问题: 一个基于stm32的工程中使用到了IAP编程,其中boot空间预留长度为0x6100,实际boot的bin文件大小为 ...
- 使用Python检测局域网内IP地址使用情况
来源:https://www.cnblogs.com/donlin-zhang/p/6812675.html 在测试环境搭建的过程中,经常需要给服务器分配静态IP地址,由于不清楚当前局域网内部哪些IP ...
- 三大主流开源硬件对比:Arduino vs Raspberry Pi vs BeagleBone
http://www.elecfans.com/emb/361236_3.html 下文摘自上面的链接 软硬件整合是今年一再被提及的话题,如今我们也可以看到不少硬件创业的成功案例,比如Jawbone ...
- linux(centos 7)下安装JDK,Tomcat,mysql 运行Maven 项目
一.在Linux中安装JDK 1. 将JDK上传到root下(任何位置均可以). 如图: 2. 用解压命令解压JDK tar -xvf (此处为jdk文件名) 如果是rpm包,执行rpm -i jdk ...