一、概念:

Redis:一个开源、支持网络、基于内存、键值对存储数据库。

特点:它可以支持多种数据类型。

二、数据类型

1)Redis String

具体说明:

一般的普通的k到v一个映射是String到String类型的一个映射,而redis的k到v的映射,其中的Redis可以是任意类型,另外,Redis

keys是采用二进制序列的。

特点:

Redis 的字符串可以支持任意形式的数据,但是它的单次储存量有限,仅512M字节。

启动redis-cli来看看Redis strings数据类型。

$ sudo service redis-server start
$ sudo su
$ cd
$ redis-cli
$ set mykey somevalue
$ get mykey

前三行怎么理解?查看一下linux命令。

一般set命令下key的不可以相同,但是可以在其后面加参数之后就可以相同。

 set mykey somevalue nx
set mykey somevalue xx

特点2:

String有加法和减法的功能,incr具有加法具有加法功能,如果加多个则用incrby;类似的还有decr和decrby,这则是减法功能。

 >set count
>incr count
>incr count
>incrby count
 >set count
>decr count
>decr count
>decrby count

自己再测试一次上面的减法。

 >mset a  b  c
>mget a b c

2)List

key和list列表是相互依存的,当一个空表插入key,则不是空表,反之如果将表删除则key不存在。

 >rpush mylist a
>rpush mylist b
>lpush mylist first
>lrange mylist -

push压栈  pop弹栈  range显示

阻塞操作:

它有类似java里面的加锁功能,另外由于它的特性,就应用场景而言,容易想到聊天软件的聊天记录。

3)Redis Hashes

它是字符串的字段和字符串的值的映射。你可以将其存在很多其他的对象存储在一个Redis实例中。

 >hmset user:  username antirez birthyear  verified
>hmset user: username
>hmset user: birthyear
>hmsetall user: 1000
 verified 1 是什么意思?
> hincrby user: birthyear 

这个hincrby是什么意思?

hincrby: 返回哈希表key中域的值。

参看: http://doc.redisfans.com/hash/hincrby.html

4)无序集合

特点:和java里面的集合类似,具有无序性和互异性,所以它对于元素可以去重,并且也可以合并求交集,找出共同元素。

     >sadd myset   

     >smembers myset

sadd命令:产生无序集合,返回集合的元素的个数。

smembers命令:用于查看集合的元素。

sismember命令:查看集合是否存在,匹配项包含集合名和集合元素。

5)有序集合

zadd命令:用于添加元素,另外每个元素有一个权重的概念,并从高到低地排出来,另外它可以看做是一个无重复的列表。

作用: 有序的元素,快速的存在性测试,快速访问集合的中间元素!

 zadd hackers  "Alan"
zadd hackers "Blue" 疑问:hackers 和 1940这两个有什么含义? 百度一下。 zadd
 zrange hackers  -
zrevrange hackers -1
zrange是正序查看 zrevrange是反序查看

可以返回结果相应的记录参数。

zrange hackers  - withscores

东西不在学多,重在学进去,当然能够多学点更好,但是最好能学透,如果你花了时间和没花时间一样的话,

则很可惜,就像linux一样,你以前学过,另外,还有java,这个你要注重学习方法,另外也要注意方法。

学完之后要用脑袋总结一下,然后根据脑袋里面的东西进行写博客,你会学得更透,温故知新。

Redis之数据类型的更多相关文章

  1. Redis常用数据类型介绍、使用场景及其操作命令

    Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...

  2. Redis笔记(三)Redis的数据类型

    前面说过,Redis的一大特性是支持丰富的数据类型, 这为更多的应用场景提供了可能. Redis有五种数据类型,包括string,list,set,sorted set和hash,注意,Redis的数 ...

  3. Redis常用数据类型

    Redis常用数据类型 转载自:http://blog.sina.com.cn/s/blog_7f37ddde0101021q.html     Redis最为常用的数据类型主要有以下五种: ●Str ...

  4. Redis基本数据类型

    -------------------Redis基本数据类型------------------- 1.String 字符串     1.概念         1.String 是redis最基本的类 ...

  5. Redis常用数据类型和事物以及并发

    Redis数据类型 基本类型(String int): 如 set key value .get key 等 所有命令都是按照 key value keys * 可以将全部数据列出,其中后面的 &qu ...

  6. Redis五大数据类型的常用操作

    在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...

  7. redis的数据类型及使用

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  8. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  9. 一、Redis的数据类型

    一Redis的数据类型 string:字符串 hash:哈希 list:列表 set:集合 zset:有序集合(sorted set) 1.string(字符串) redis最基本的类型.可以理解成与 ...

  10. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

随机推荐

  1. vim推荐的光标移动配置文件?

    http://roclinux.cn/?p=1466 inoremap jk inoremap ... 参考较好的vim设置文件 : 共享粘贴板: set clipboard+=unnamed 除了映 ...

  2. ES与CQRS之旅

    引言 领域驱动设计(Domain Driven Design),使用统一的建模语言.专注业务领域分析.采取化整为零并反复迭代的方式,以业务领域模型为圆心,向外辐射到系统轮廓的勾勒.具体模块的实现,为我 ...

  3. 错误 warning: LF will be replaced by CRLF in README.md.

    问题类型 windows中的换行符为 CRLF, 而在Linux下的换行符为LF,所以在执行add . 时出现提示:warning: LF will be replaced by CRLF in RE ...

  4. if else 更优雅的写法(转)

    https://www.cnblogs.com/y896926473/articles/9675819.html

  5. tail()函数

    与head()函数类似,默认是取dataframe中的最后五行. 函数源码: def tail(self, n=): """ Returns last n rows &q ...

  6. ETCD分布式锁实现选主机制(Golang实现)

    ETCD分布式锁实现选主机制(Golang) 为什么要写这篇文章 做架构的时候,涉及到系统的一个功能,有一个服务必须在指定的节点执行,并且需要有个节点来做任务分发,想了半天,那就搞个主节点做这事呗,所 ...

  7. Mac入门--Apache/Php/Mysql的开启关闭

    注意:mac自带apache环境和PHP环境 一 php服务的启动和关闭 php-fpm 启动 sudo php-fpm php-fpm 关闭 1 查看php-fpm端口是否在被php-fpm进程 n ...

  8. STL关联容器值hashtable

    hashtable(散列表)是一种数据结构,在元素的插入,删除,搜索操作上具有常数平均时间复杂度O(1); hashtable名词 散列函数:负责将某一元素映射为索引. 碰撞(collision):不 ...

  9. Java相关面试题总结+答案(十)

    [JVM] 194. 说一下 JVM 的主要组成部分?及其作用? 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) ...

  10. Java包的使用

    好处 1.类似于文件系统的文件夹,可以实现分类管理类文件,方便查找2.解决了同一个项目中同名类的冲突问题 包的创建 命名规范: 建议小写字母,并且采用域名倒置的写法 域名倒置:com.baidu ww ...