Redis学习笔记(一)
定义
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:
- Jedis : https://github.com/xetorthio/jedis
- JRedis: https://github.com/alphazero/jredis
- RJC: https://github.com/e-mzungu/rjc
参考:
https://www.youtube.com/watch?v=5xtEpB2FmMU
https://blog.csdn.net/u011277123/article/details/78692603/
Redis学习笔记(一)的更多相关文章
- redis 学习笔记(6)-cluster集群搭建
上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...
- Redis学习笔记~目录
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...
- Redis学习笔记4-Redis配置详解
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...
- Redis学习笔记7--Redis管道(pipeline)
redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...
- Redis学习笔记一:数据结构与对象
1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...
- Redis学习笔记之ABC
Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...
- (转)redis 学习笔记(1)-编译、启动、停止
redis 学习笔记(1)-编译.启动.停止 一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...
- Redis学习笔记(二)-key相关命令【转载】
转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...
- Redis学习笔记(三)Redis支持的5种数据类型的总结
继续Redis学习笔记(二)来说说剩余的三种数据类型. 三.列表类型(List) 1.介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一段片段.列表类型内部是 ...
- Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash
引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...
随机推荐
- *p++、*++p、(*p)++区别
关于数组指针的谜题 假设 p 是指向数组 arr 中第 n 个元素的指针,那么 *p++.*++p.(*p)++ 分别是什么意思呢? *p++ 等价于 *(p++),表示先取得第 n 个元素的值,再将 ...
- idea打jar包
昨天碰到个问题:使用idea打成jar包,但是在测试环境一直报错.参考: http://blog.csdn.net/aotian16/article/details/52198378 之后发现原来的j ...
- tomcat启动很慢 停留在 At least one JAR was scanned for TLDs yet contained no TLDs.
部署项目时候,发现启动特别慢,要等好几分钟,这不正常啊.然后每次部署都停留在 At least one JAR was scanned for TLDs yet contained no TLDs. ...
- 【NLP汉语自然语言处理与实践】分词_笔记
一.两种分词标准: 1. 粗粒度. 将词作为最小基本单位.比如:浙江大学. 主要用于自然语言处理的各种应用. 2. 细粒度. 不仅对词汇继续切分,也对词汇内部的语素进行切分.比如:浙江/大学. 主要用 ...
- CSS position属性 标签: css 2016-09-06 15:58 78人阅读 评论(0) 收藏
踩了position的坑,主要是因为对position属性理解不深. 以下是w3school中对position的解释: 可能的值 值 描述 absolute 生成绝对定位的元素,相对于 static ...
- python 枚举类
枚举类 Enum类 from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Ju ...
- Oracle 内存使用建议性能视图
下面三个查询结果均可查询出随着内存参数设置的变化性能的变化情况,对oracle数据库内存的设置有一定的建议和指导作用. select t.SGA_SIZE,t.ESTD_DB_TIME_FACTOR ...
- February 16 2017 Week 7 Thursday
Other men live to eat, while I eat to live. 很多人为食而生存,而我为生存而食. Just the same, either you eat to live ...
- java 开发常用IDE
1.IntelliJ IDEA 2.eclipse 3.netbeans 这三个IDE都不错,据说IntelliJ IDEA最好,主要还是看个人喜好和需要.
- 转 C++11之std::function和std::bind
std::function是可调用对象的包装器,它最重要的功能是实现延时调用: #include "stdafx.h" #include<iostream>// std ...