1、string类:一个key对应一个value(key:value)。string类是二进制安全,可以包含任何数据(例如:图片、音乐)。

2、hash类:string类型field和value的映射表。特别适合存储对象。

3、list类:链表数据结构,主要功能push、pop、获取范围所有值。list类每个子元素都是string类型的双向链表。可以通过push、pop操作从链表头部或者尾部增加删除元素。这样子list既可以作为栈,也可以作为队列。

4、set类:set集合中元素是唯一不能重复,而且是无顺序。差集、交集、并集操作。

5、zset类:zset类是set集合的扩展,zset集合中元素是唯一不能重复,但是有顺序。zset类在set类基础上增加了一个顺序的属性

1.1、string类操作命令

set key value

setnx key value(nx代表not exist,不存在才增加键值)

setex (ex代表expire有效期,以时间秒为单位)

mset:一次性设置多键值

msetnx:(nx代表not exist,不存在才增加键值)

get key:获取值

mget:批量获取值

incr:对key的值做加操作(+1)

incrby:对key的值做指定值加操作(+x)

decr:对key的值做加操作(-1)

decrby:对key的值做指定值加操作(-x)

strlen:取指定key的value值长度

2.1、hash类操作命令

hset: 设置hash表。例如:hset hashtable field_1 value_1

hget:获取hash表

hsetnx: (nx代表not exist,hash表不存在才增加键值)

hmset:设置hash表多字段和值。例如:hset hashtable field_1 value_1 field_2 value_2

hincrby:设置hash表某字段值增加。例如:hincrby hashtable field 8

hexists:检查field是否存在

hdel:删除hash表字段

hkey:返回hash表的所有field字段

hvals:返回hash表的所有value值

hlen:统计hash表field个数

3.1、list类

lpush:往list头部添加元素。例如:lpush mylist "hello"

rpush:往list尾部添加元素。例如:lpush mylist "hello"

lrange:查询list元素。例如查询list全部元素:lrange mylist 0 -1

lset:设置指定下标的值

lrem:从list删除元素(rem:remove意思)

ltrim:保留知道范围内的元素

lpop:从list头部删除元素,并返回删除元素

rpop:从list尾部删除元素,并返回删除元素

rpoplpush:从第一个list的尾部移除元素,并添加第二个list的头部

lindex:返回list指定index元素

llen:返回list元素个数

4.1、set类

sadd:向set集合添加元素。例如:sadd myset "hello"

smembers:查询集合的成员

srem:删除集合的元素

spop:随机删除一个元素

sdiff:两个集合的查集

sdiff:两个集合差集,并将差集保存到另一个集合。 例如myset1和myset2差集保存到myset3:sdiffstore myset3 myset1 myset2

sinter:返回两集合的交集

sinterstore:两个集合交集,并将交集保存到另一个集合

sunion:返回两集合的并集

sunionstore:两个集合并集,并将并集保存到另一个集合

smove:将元素从一个集合移动到另一个集合。例如:smove myset1 myset2 "hello"

sismember:查看元素是否是集合元素

scard:查看元素个数

5.1、zset类

zadd:向set集合添加元素,添加元素时两个值(元素值、顺序值)。例如:zadd myset 1 "one"

zrange:查询集合元素。例如:zrange myset 0 -1 withscores

zrem:删除集合元素

zincrby:增加指定顺序值

zrank:依据索引排序

zrevrank:依据索引反序排序

zrevrange:依据索引降序排序

zrangebystore:返回集合中score在给定区间的元素,顺序排序。例如2-3是顺序区间:zrangebystore myset 2 3 withscores

zcount:返回集合中score在给定区间的数量。例如2-3是顺序区间:zcount myset 2 3 withscores

zremrangebyrank:删除集合中排名在给定区间的元素。例如:(1-1是代表索引:zremrangebyrank myset 1 1 )

zcard:返回集合元素个数。

redis五种基本数据类型的更多相关文章

  1. Redis五种常用数据类型

    string 字符串常用操作 1.存入字符串键值对  SET key value 2.批量存储字符串键值对  MSET key value [key value ...] 3.获取一个字符串键值  G ...

  2. redis五种数据类型的使用(zz)

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  3. redis五种数据类型的使用

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  4. redis五种数据类型的使用场景

    string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  5. Redis五种数据类型-设置key的过期时间

    1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...

  6. Redis(一)、Redis五种数据结构

    Redis五种数据结构如下: 对redis来说,所有的key(键)都是字符串. 1.String 字符串类型 是redis中最基本的数据类型,一个key对应一个value. String类型是二进制安 ...

  7. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

  8. Redis五种数据结构简介

    Redis五种结构 1.String 可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作. 字符 ...

  9. redis 五种数据结构详解(string,list,set,zset,hash)

    redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...

随机推荐

  1. Effective C++:条款29:为“异常安全”而努力是值得的

    (一)先看以下这些代码: class PrettyMenu { public: void changeBackground(istream& imgSrc); private: Mutex m ...

  2. LINUX开启允许对外访问的网络端口命令

    LINUX通过下面的命令可以开启允许对外访问的网络端口: /sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口 /etc/rc ...

  3. 解决 PHP Fatal error: Call-time pass-by-reference has been removed

    PHP在升级到5.4版本的php可能会出现这种错误: 如果这样使用函数(或者类)的话,会产生一个 PHP Fatal error:foo(&$var);实际上,这样用法在php5.3中就会有提 ...

  4. Hive QL——深入浅出学Hive

    第一部分:DDL DDL •建表 •删除表 •修改表结构 •创建/删除视图 •创建数据库 •显示命令 建表 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_ ...

  5. VMware虚拟机的磁盘文件共享给物理机

    启动VMware程序 → 选中某虚拟主机('关闭'状态) → 菜单栏'虚拟机(M)' → '设置(S)' 或直接"编辑虚拟机设置". 2 在“硬件”标签下点击“硬盘(SCSI)”→ ...

  6. 今天才知道的JavaScript的真实历史~[转]

    JavaScript真的继承自Cmm吗?JavaScript与Java有多少关系?JavaScirpt最初的设计是怎样的?这个文章是从一个叫编程人生的网站上看到的.不知道出处在哪.在许多资料,Java ...

  7. SQL PRIMARY KEY,SQL FOREIGN KEY

    A primary key is defined as a column or a group of column that their value are always be unique. Nor ...

  8. TestNG的组測试和组中组測试

    在编写測试的过程中,我们常常遇到仅仅想运行个别或者某一部分/某一类型的測试用例,这时我们能够使用TestNG的分组測试方法 分组測试在配置时.TestNG运行的原则是:仅仅保留最小集合进行运行 看代码 ...

  9. 当Intellij IDEA 遇到 Mac

    当Intellij IDEA 遇到 Mac alt+insert变为control+N

  10. python 3 爬取百度图片

    python 3 爬取百度图片 学习了:https://blog.csdn.net/X_JS612/article/details/78149627