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(远程 ...
随机推荐
- arcgis 线段合并
对于上面这种这种有一个字段相同的 线段,使用 使用后生成的矢量如下
- java断言 assert
关于assert的用法网上教程很多,这里就不说了,只演示一下运行时开启断言的方法. public class A{ public static void main(String[] args){ Cl ...
- TreeSet 题
QUESTION 4Given:12. import java.util.*;13. public class Explorer2 {14. public static void main(Strin ...
- javaEE版本的eclipse中导入工程,发现server里面找不到工程,根本发布不了也不能运行
原文:http://www.cnblogs.com/sxmcACM/p/3674545.html 1.具体解决方法 首先确保,你导入的工程所用的JDK版本和你的机器上安装的版本是同一版本, 如果不同做 ...
- shell语句
一.判断目录是否存在:#!/bin/bash#/bin/bash -n filename.sh 判断语句是否正确 DIR=/root/zhjif [ ! -d $DIR ];then mkdir $D ...
- msvcr100.dll丢失原因及解决方法
msvcr100.dll为Visual Studio 2010的一个动态链接库,如果某程序是用它开发出来的,那么该程序的运行就有可能需要此动态链接库.有些程序直接将其打包到了安装目录,并注册,就不会出 ...
- yii2.0里自己写的源码上传图片
在做项目过程中,用了源码表单上传, <form action="?r=pre/create" method="post" enctype="mu ...
- 如何使git忽略某些文件或文件夹
为什么要忽略某些文件或文件夹的变化? git作为一款项目文件变更版本管理软件,其主要功能之一就是追踪项目文件夹内各种文件及文件夹的变更情况.但是,在日常使用中,并非项目文件夹下的所有文件及文件夹变更都 ...
- 中间人攻击-ARP毒化
感谢Heee投递 中间人攻击虽然古老,但仍处于受到黑客攻击的危险中,可能会严重导致危害服务器和用户.仍然有很多变种的中间人攻击是有效的,它们能够很容易的欺骗外行并且入侵他们.正如字面意思一样,中间人攻 ...
- 「Newcoder练习赛40D」小A与最大子段和
题目 挺好的一道题 我们考虑把\(i\)作为选取的最大子段的结束位置,我们如何往前计算贡献呢 考虑一下这个乘上其在队列中的位置可以表示为这个数被算了多少次,而我们往前扩展一位当前已经被扩展的就会被计算 ...