定义

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。

从该定义中抽出几个关键信息,以表示Redis的特性:

  • 存储结构:key-value。
  • 基于内存亦可持久化,即使服务器重启,存储在redis中的key-value数据依然存在。

Value的数据类型

Redis中的key对应的value可以存储的数据类型有:

  • Strings

  • Lists:

    LPUSH, LRANGE, LLEN
  • Sets: 集合(无序)

    	* SADD
    * SREM(删除操作)
    * SINTER(交集运算)
    * SCARD(集合的总数)
    * SMEMBERS(无序列出集合的所有元素)
  • Sorted sets:集合(有序)

    集合里每个元素有一个浮点类型的分值,分值决定集合中的元素的排列顺序,集合里的元素都是唯一的。

     ZADD zset 10 a
    有序集合的命令都是以Z开头,例如ZADD。
  • Hashes

    HMSET,HGET,HINCRBY,HEXISTS

Redis的操作是原子的。例如INCR,就是不能同时对同一个key的value进行增量运算。

命令行工具

redis command line:

下载redis-cli: https://redis.io/download

keys * .

type (key pattern).

HGETALL (key)

使用场景

Redis的适用场景:

  • 数据高并发的读写。配合关系型数据库做高并发缓存,缓存高频次访问的数据,降低数据库io。
  • 海量数据的读写。
  • 多扩展性要求高的数据

Redis不适用的场景:

  • 需要事物支持
  • 基于sql结构化查询存储,关系复杂

Drivers

java中用到的有几个主要的redis drivers/clients:

参考:

https://www.youtube.com/watch?v=5xtEpB2FmMU

https://blog.csdn.net/u011277123/article/details/78692603/

Redis学习笔记(一)的更多相关文章

  1. redis 学习笔记(6)-cluster集群搭建

    上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...

  2. Redis学习笔记~目录

    回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...

  3. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  4. Redis学习笔记7--Redis管道(pipeline)

    redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...

  5. Redis学习笔记一:数据结构与对象

    1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...

  6. Redis学习笔记之ABC

    Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...

  7. (转)redis 学习笔记(1)-编译、启动、停止

    redis 学习笔记(1)-编译.启动.停止   一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...

  8. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...

  9. Redis学习笔记(三)Redis支持的5种数据类型的总结

    继续Redis学习笔记(二)来说说剩余的三种数据类型. 三.列表类型(List) 1.介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一段片段.列表类型内部是 ...

  10. Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash

    引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...

随机推荐

  1. Lua的协同程序初探

    Content: 前两天把Lua的协同程序概念看了一下,不是很懂,只能说<Programming In Lua>中把它解释成线程让人很好的理解起来,但是真正去看的时候,收获并不是很大.第一 ...

  2. C可变参数

    https://www.cnblogs.com/pengdonglin137/p/3345911.html#_label0

  3. 学习Road map Part 02 机器学习和图像识别

    方法:结合项目.竞赛.mentor计划

  4. [零基础学JAVA]Java SE面向对象部分.面向对象基础(02)

    String类 JAVA:public class StringTest{ public static void main(String args[]){ //尽量避免使用new,这样会产生内存垃圾 ...

  5. Ubuntu中为Eclipse添加桌面启动快捷方式

    Ubuntu中应用程序启动器“XXX.desktop”还没有被标记为可信任的问题:http://www.tuicool.com/articles/fIBJ32n eclipse问题:prefences ...

  6. 牛客网多校训练第一场 E - Removal(线性DP + 重复处理)

    链接: https://www.nowcoder.com/acm/contest/139/E 题意: 给出一个n(1≤n≤1e5)个整数(范围是1至10)的序列,求从中移除m(1≤m≤min(n-1, ...

  7. nssm 在windows上部署服务

    简介 NSSM是一款可将Nodejs项目注册为Windows系统服务的工具.当你的Node.js项目需要部署在Windows Server上时,NSSM是一个不错的选择. 特点 NSSM将Node.j ...

  8. image_pyradid和自己的一些训练经验总结

    这是训练的路锥.警示柱的数据,也就是小物体的.小物体有两个定义,一个是本身像素少,另一个是物体相对于整张图片的比例小 这是把图片缩小到600 proposal_target_layer选取用来训练的p ...

  9. js秒换成天时分

    js秒换成天时分 function timeStamp( second_time ){ var time = parseInt(second_time) + "秒"; if( pa ...

  10. NodeJS学习日记--VSCode下调试

    在vscode中打开项目文件夹 点击左侧的调试菜单,在打开的页面中点击下拉框并点击添加配置 在弹出框中选择 node.js vscode 会自动在项目文件夹下添加.vscode文件夹,并创建launc ...