数据结构

redis是key-value的数据结构,每条数据都是一条字符串。注意:键的类型是字符串,并且不能重复。

值的类型分5种:

  • 字符串string
  • 哈希hash
  • 列表list
  • 集合set
  • 有序集合

数据操作行为

  • 保存
  • 修改
  • 获取
  • 删除

sting类型

字符串类型的redis中最为基础的数据存储类型,在redis中是二进制安全的,可以接受任何格式的数据。在redis中字符串类型的value值最多可容纳的数据长度是512M。

保存

设置键值 set key value

设置键值和过期时间 setex key seconds value

设置多个键值 set key value1 value2 ...

追加属性值 append key value

获取

根据键获取值 get key

根据多个键获取值 get key1 key2

删除

删除键值对 del key

键命令

查看所有键 keys *

查看名称包含a的键 keys a*

判断键是否存在,存在返回1,不存在返回0   exists key

查看键对应的value类型 type key

删除键及对应的值 del key1 key2 ...

设置过期时间,单位为秒  expire key 过期时间

查看有效时间 ttl key

hash类型

hash用于存储对象,对象的结构为属性、值(string)

增加、修改

设置单个属性 hset key field value

例如:设置键 user的属性name为itheima    hset user name itheima

设置多个属性 hset key field value1 value2 ...

获取

获取指定键所有的属性 hkeys key

获取一个属性的值 hget key field

获取多个属性的值 hget key field1 field2

获取所有属性的值 hget key

删除

删除属性 hdel key field1 field2...

list类型

按照插入顺序排序

增加

在左侧插入数据 lpush key value1 value2...

在右侧插入数据 rpush key value1 value2...

在指定元素的前后插入新元素 linsert key before或after 现有元素   新元素

设置指定索引位置的元素值 lset key index value

获取

返回列表里指定范围内的元素 lrange key 0 -1    # 按照索引值查找

删除

删除指定元素 lrem key count value  #count>0:从左往右;count=0;移除所有:count<0:从尾往头移除。

set类型

无序集合,具有唯一性,不重复

增加

添加元素 sadd key member1 member2...

获取

返回所有元素 smembers key

删除

删除指定元素 srem key member1 member2...

zset类型

有序集合,有唯一性,每个元素都会关联一个double类型的score,表示权重,通过权重将元素按照从小到大排序

增加

添加 zadd key score1 member1 score2 member2...

获取

返回指定范围内的元素 zrange key start stop

返回权重值在min和max之间的成员 zrangebyscore key min max

返回成员们member的score值 zscore key member

删除

删除指定元素 zrem key member1 member2...

删除权重在指定范围内的元素 zremrangebyscore key min max

键命令

查看所有键 keys *

查看名称中包含a的键 keys a*

判断键是否存在

查找键

查找键

redis数据操作的更多相关文章

  1. Jedis连接池对Redis数据操作

    [效果图] [前言] Redis是常用于缓存的非关系型数据库,感觉更像加强型的HashMap的用法,依靠Key和Value保存数据.官方推荐用Jedis来操作Redis数据库,使用和JDBC差不多,一 ...

  2. Redis—数据操作

    redis是key-value的数据,所以每个数据都是一个键值对. 数据操作的全部命令,可以查看中文网站. 键的类型是字符串 值的类型分为五种: 字符串string 哈希hash 列表list 集合s ...

  3. redis数据操作笔记

    redis是key-value的数据结构,每条数据都是一个键值对键的类型是字符串 注意:键不能重复,值的类型分为五种:字符串string 哈希hash 列表list 集合set 有序集合zset 一. ...

  4. 《Redis 数据操作》

    一:字符串类型(string) - 应用场景  - 用于常规计数,常规的 key-value 存储. - 常用操作 常用操作 设置一个值为(字符串类型) SET key value 设置一个值并设置过 ...

  5. redis数据操作篇

    服务器端 服务器端的命令为redis-server 可以使⽤help查看帮助⽂档 redis-server --help 个人习惯 ps aux | grep redis 查看redis服务器进程su ...

  6. StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)

    本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...

  7. 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器

    一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...

  8. Redis 安装,配置以及数据操作

    Nosql介绍 Nosql:一类新出现的数据库(not only sql)的特点 不支持SQL语法 存储结构跟传统关系型数据库中那种关系表完全不同,nosql中存储的数据都是k-v形式 Nosql的世 ...

  9. redis常见数据操作

    redis中有5种常见的数据类型,针对这5种数据类型有着相应的数据操作. 1.String(键值对为String - String) set k1 v1 get k1 getset k1 v1 - h ...

随机推荐

  1. Ajax+Spring MVC实现跨域请求(JSONP)(转)

    背景: AJAX向后台(springmvc)发送请求,报错:已阻止交叉源请求:同源策略不允许读取 http://127.0.0.1:8080/DevInfoWeb/getJsonp 上的远程资源.可 ...

  2. 深入理解SpringBoot之装配条件

    我们知道自动装配是SpringBoot微服务化的核心,它会把META-INF/spring.factoires里配置的EnableAutoConfiguration注册到IOC容器里.但是,请大家考虑 ...

  3. String和StringBuffer的区别?

    这个我经常用的是String,说真的,用StringBuffer的次数还真是少,唯一让我觉得特别的方法就是appand这个方法是StringBuffer独有的,那么他们到底有什么区别呢,我们知道Str ...

  4. CAP原理和BASE思想

    分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可 ...

  5. 说一说js中__proto__和prototype以及原型继承的那些事

    在面试中遇到过,问js如何实现继承,其实最好的方式就是构造函数+原型,今天在讨论中,发现自己以前理解上的一些误区,特地写出来,最近都比较忙,等手上的项目做完,可以来做个总结. 先说我以前没有认识到位的 ...

  6. 让站点支持MarkDown语法~(转)

    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式.Markdown的语法简洁明了.学习容易,而且功能比纯文本更强,因此有很多人 ...

  7. 从零开始学习 Docker

      这篇文章是我学习 Docker 的记录,大部分内容摘抄自 <<Docker - 从入门到实践>> 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的 ...

  8. 传统业务上云:跨AZ容灾架构解析

    本文由  网易云发布. 数字化转型浪潮之下,采用云计算服务提升业务敏捷性.降低运维成本,成为了传统企业的优选方案.网易云资深解决方案架构师张亮通过某物流企业客户的实际案例,分享了传统业务系统在云上的架 ...

  9. search_response.go

    package; iScore < utils.MinInt(len(docs[i].Scores), len(docs[j].Scores)); iScore++ {         if d ...

  10. BZOJ_2561_最小生成树_最小割

    BZOJ_2561_最小生成树_最小割 题意: 给定一个边带正权的连通无向图G=(V,E),其中N=|V|,M=|E|,N个点从1到N依次编号,给定三个正整数u,v,和L (u≠v),假设现在加入一条 ...