1 数据类型之 string类型:
字符串类型是redis中最基本的数据类型,它能存储任何形式的字符串,包含二进制数据,甚至是一张图片(二进制内容)。一个字符串类型的值存储的最大容量是1GB
命令
set/get
mset/mget
incr/decr/incrby/decrby/incrbyfloat
append
strlen
解释:
set/get 多次对同名的key执行set后 对应的值会被覆盖掉
mset/mget :同一命令行中对多个参数赋值和取值
incr/decr/incrby/decrby/incrbyfloat incr key :给对应的key的值增加1 decr key :给对应的key的值递减1 incrby key 5 : 给对应的key的值增加加5 decrby key 5 : 给对应的key的值增减减5 incrbyfloat key 1.01 : 给对应的key的值增加浮点数1.01 注意没有递减浮点操作 append key " world" 给key对应value后增加串 world strlen key 返回key对应的string类型值的长度
2 数据类型之 hash方式:
hash类型的值存储了字段和字段值的映射,字段值只能是字符串,不支持其他数据类型。
hash类型的键至多可以包含 2的32次方-1个字段。
hash类型适合存储对象:如图:
使用hash数据类型,redis可以为任何键增减字段而不影响其他键
命令
hset/hget/hmset/hmget/hgetall(hsetnx)
hexists,判断键中的属性是否存在
hincrby(hash类型没有hincr命令)
hdel
hkeys/hvals
hlen
命令
hset/hget/hmset/hmget/hgetall(hsetnx)
hexists,判断键中的属性是否存在
hincrby(hash类型没有hincr命令)
hdel
hkeys/hvals
hlen
// 增加hash类型三个属性 127.0.0.1:6379> hset user:100 name zm (integer) 1 127.0.0.1:6379> hset user:100 age 30 (integer) 1 127.0.0.1:6379> hset user:100 sex 1 (integer) 1 // 获取一个属性的值 127.0.0.1:6379> hget user:100 sex "1" // 同时获取多个属性的值 127.0.0.1:6379> hmget user:100 sex age 1) "1" 2) "30" // 得到这个健下对应的所有属性和属性值 127.0.0.1:6379> hgetall user:100 1) "name" 2) "zm" 3) "age" 4) "30" 5) "sex" 6) "1" // 判断属性是否存在 127.0.0.1:6379> hexists user:100 name (integer) 1 // 得到所有属性 127.0.0.1:6379> hkeys user:100 1) "name" 2) "age" 3) "sex" 得到所有属性对应的数值 127.0.0.1:6379> hvals user:100 1) "zm" 2) "30" 3) "1" // 删除属性age 127.0.0.1:6379> hdel user:100 age (integer) 1 // 得到健下所有属性个数 127.0.0.1:6379> hlen user:100 (integer) 2
3 数据类型之list:
list是一个有序的字符串列表,列表内部实现是使用双向列表(linked list)实现的。 list还可以作为队列使用(后面讲) 一个列表类型的键最多能容纳 2的32次方-1 个元素。 命令 lpush/rpush/lpop/rpop llen/lrange lrem(lrem key count value)count分为三种情况 lindex/lset/ltrim/linsert rpoplpush:将元素从一个列表转到另一个列表 lpush 向列表左侧插入数据 rpush 向列表右侧插入数据 lpush list 1 lpush list 2 rpush list 3 rpush list 4 lrange list 0 -1 查看list这个key内的所有数据 lpop 从左侧弹出并移除 rpop 从右侧弹出并移除 llen list 查询元素个数 lpush list 3 4 5 6 7 插入多条 中间用空格隔开 lrem list 2 3 从key为list的集合中 从左侧开始删除,删除2次值为3的数据 lrem list -2 3 从key为list的集合中 从右侧开始删除,删除2次值为3的数据 lrem list 0 3 从key为list的集合中 删除所有值为3的数据 lindex list 0 查询角标为0的数据 lset list 0 x 将集合list的第0个元素设置为x ltrim list 0 2 将key名称为list的集合切割得到角标为0,1,2的三个元素 linsert list before d a 在元素d前面插入元素a linsert list after d y 在元素d后面插入元素y
4 数据类型之set:
set集合中的数据都是不重复的,无序的,一个集合类型键可以存储至多 2的32次方-1 个字符串 命令 sadd/srem/smembers/sismember sdiff/sinter/sunion sdiffstore/sinterstore/sunionstore scard/srandmember/spop sadd set1 a smembers set1 返回集合set1的所有元素 srem set1 a 删除集合set1的a元素 sismember set1 a 查看set1中是否有元素a sadd set1 a b c sadd set2 b c d sdiff set1 set2 求集合之间的差集 以第一个参数集合作为判断标准 sinter set1 set2 求集合之间的交集 sunion set1 set2 求集合之间的并集 sdiffstore setresult set1 set2 将集合set1 set2的差集结果存储在集合setresult中 sinterstore setresult1 set1 set2 将集合set1 set2的交集结果存储在集合setresult1中 sunionstore setresult2 set1 set2 将集合set1 set2的并集结果存储在集合setresult2中 scard set1 返回集合个数 srandmember set1 2 每次随机从集合set1中获取2个元素 spop set1 随机从set1中取出一个元素并移除
5 数据类型之sorted set:
有序集合,在集合类型的基础上为集合中的每个元素都关联了一个分数,这样可以很方便的获得分数最高的N个元素(topN)。 有序集合类型和列表类型的差异 相同点 (1)二者都是有序的 (2)二者都可以获得某一范围的元素 不同点 (1)列表类型是通过链表实现的,获取靠近两端的数据速度极快,当列表中元素增多后,访问中间的数据速度会很慢,所以它更加适合很少访问中间元素的应用 (2)有序集合类型是使用散列表和跳跃表(skip list)实现的,所以即使读取位于中间部分的数据速度也很快 (3)列表中不能简单的调整某个元素的位置,但是有序集合可以(通过更改这个元素的分值) (4)有序集合要比列表类型更耗费内存 给每个元素设置分值,然后根据set元素的分值来排序,从而达到有序的目的。
相关推荐
String类型使用场景 计数器 例如一篇文章有多少人看过使用 INCR article:readcount:文章id 取值为GET article:readcount:文章id hash类型使用场景 电商的购物车 hset cart:用户id 商品id 商品数量 增加同样商品的...
Redis学习手册 Set数据类型 doc Redis学习手册 Sorted Sets数据类型 doc Redis学习手册 String数据类型 doc Redis学习手册 主从复制 doc Redis学习手册 事务 doc Redis学习资料 rar redis讲义 doc">redis 2 8 13 tar...
Redis数据类型以及指令整理, 1. string 2. list 3. SET集合 4. sorted set 5. hash
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 一、string 简介:Strings数据类型是最常用、简单的key-value类型,普通的key/ value 存储都可以...
主要介绍了Python操作redis的常见方法,结合实例形式总结分析了Python redis操作中String、Hash、List、Set等相关操作函数与使用技巧,需要的朋友可以参考下
本文主要讲述:Redis所支持的数据类型、key、string、list、set、hash的相关命令,以及它的持久化、主从复制和事务。
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型...
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个...
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,...
3)支持多种数据类型,常见的如 string、list、hash、set、zset、bitmaps、hyperloglog、geo 4)应用场景广泛:常作为缓存使用,分布式锁、数据共享等 Redis 支持的数据类型有哪些?1)String(字符类型) 2)Hash...
redis迁移到redis,支持string、list、set、hash;支持主从、支持集群版;支持制定库迁移,已经测试验证。如有问题欢迎留言指出可以定向优化
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。 性能极高 – Redis能读的速度是110000次/s,写的速度是81000...
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。每种数据类型的使用场景各不相同
Redis安装与配置,Redis常用命令-string-hash,Redis常用命令-list-set-zset,Redis其它功能
因为它的 value 不仅包括基本的 string 类型还有 list,set ,sorted set 和 hash 类型。当 然这些类型的元素也都是 string 类型。也就是说 list,set 这些集合类型也只能包含 string 类型。你可以在这些类型上做很多...
数据类型丰富:Redis支持多种数据类型,如字符串(string)、散列(hash)、列表(list)、集合(set)和有序集合(sorted set)等。这使得Redis能够灵活地应对不同的应用场景。 速度极快:Redis的速度非常快,每秒...
新增加的Stream(流)数据类型,这样redis就有了6大数据类型,另外五种是String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set有序集合)。它弥补了其它5种数据类型不能实现的功能,比如List...
ServiceStack.Redis操作Redis内容,包括存取String、Hash、List、Set、ZSet.