Redis之数据类型

一、概念:

        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的不可以相同,但是可以在其后面加参数之后就可以相同。

1 set mykey somevalue nx
2 set mykey somevalue xx

 

特点2:

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

1 >set count 100
2 >incr count 1
3 >incr count 1
4 >incrby count 50

 

1 >set count 100
2 >decr count 1
3 >decr count 1
4 >decrby count 50

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

 

1 >mset a 10 b 20 c 40
2 >mget a b c

 

2)List

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

1 >rpush mylist a
2 >rpush mylist  b
3 >lpush mylist first
4 >lrange mylist 0 -1

push压栈  pop弹栈  range显示

 

阻塞操作:

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

 

3)Redis Hashes

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

1 >hmset user: 1000 username antirez birthyear 1977 verified 1
2 >hmset user: 1000 username
3 >hmset user: 1000 birthyear
4 >hmsetall  user: 1000

 verified 1 是什么意思?

 

> hincrby user:1000 birthyear 10

       

这个hincrby是什么意思?

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

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

 

4)无序集合

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

     >sadd myset 1 2 3

     >smembers myset

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

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

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

 

5)有序集合

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

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

1 zadd hackers 1940 "Alan"
2 zadd hackers 1954 "Blue"
3 
4 疑问:hackers 和 1940这两个有什么含义?   百度一下。  zadd

 

1 zrange hackers 0 -1
2 zrevrange hackers 0 -1
zrange是正序查看 zrevrange是反序查看

 

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

zrange hackers 0 -1 withscores

 

 

 

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

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

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

 

转载于:https://www.cnblogs.com/shijinglu2018/p/10828931.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值