Redis是一个Key-Value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

一、 Redis操作String(字符串)

Redis保存String称之为“单值单Value”,也就是说一个key只能保存一个值,常用的操作命令如下:

命令 描述
set/get/del/append/strlen 对String的基本操作
Incr/decr/incrby/decrby 每次递增1/每次递减1/按某个数每次递增/按某个数每次递减
getrange/setrange 对字符串操作(java中SubString)
setex键秒值/setnx set with expire和set if not exist
mset/mget/msetnx 批量操作
getset 先get再set

二、 Redis操作list(集合)

Redis保存List称之为“单值多value”。
常用操作命令:

命令 描述
lpush/rpush/lrange 保存list和获取list
lpop/rpop 从list中弹出一个值
lindex 按照索引下标获得元素(从上到下)
llen List长度
lrem key 删N个value
ltrim key 开始index 结束index,截取指定范围的值后再赋值给key
rpoplpush 源列表 目的列表 从一个list弹出再赋值给另一个list
lset key index value List指定位置设置值
linsert key before/after 值1 值2 在list的指定位置插入值

三、 Redis操作set

Redis保存set也是 “单值多value”,但是set的值不可重复。

命令 描述
sadd/smembers/sismember 保存set和获取set
scard 获取集合里面的元素个数
srem key value 删除集合中元素
srandmember key 某个整数(随机出几个数)红包,抽奖多用
spop key 随机出栈
smove key1 key2 作用是将key1里的某个值赋给key2
数学集合类 差集:sdiff/交集:sinter/并集:sunion

四、 Redis操作Hash

Hash与Java中的Map对应,KV模式不变,但V是一个键值对。Hash是redis中的一个非常重要的数据类型。
常用操作命令:

命令 描述
hset/hget/hmset/hmget/hgetall/hdel 操作hash的基本命令
hlen Hash中的元素数量
hexists key 在key里面的某个值的key
hkeys/hvals 一个hash中所有的key和value
hincrby/hincrbyfloat 指定的值按某个值增长
hsetnx 不存在就设置

五、 Redis有序集合Zset(sorted set)

在set基础上,加一个score值。之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2。
常用操作命令:

命令 描述
zadd/zrange 操作hash的基本命令
zrangebyscore key开始score 结束score 根据得分查询(不包含
zrem key 某score下对应的value值,作用是删除元素
zcard/zcount key score区间/zrank key values值, 作用是获得下标值/zscore key 对应值,获得分数
zrevrank key values值, 作用是逆序获得下标值
zrevrange 逆序获取值
zrevrangebyscore key 结束score 开始score 根据分数逆序排序

分布式内存数据库---Redis操作String、list、set、hash和Zset相关推荐

  1. (Redis_学习一)Redis关于string类型和hash类型数据操作

    Redis关于string类型和hash类型数据操作 set name xiaohongyang // get name setnx name xiaohy get name setex name 1 ...

  2. 分布式内存数据库---Redis数据库之(键)key

    Redis数据库之(键)key 前面讲了Redis存储的数据类型是key-value类型,Value可以是如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点 ...

  3. 分布式内存数据库--Redis事务

    一. 事务: 与关系型数据库一样redis也支持事务.也就是可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞. 二. 事务能 ...

  4. 分布式内存数据库---Redis的持久化

    一. Redis 提供了不同级别的持久化方式: Redis提供了两种方式对数据进行持久化,分别是RDB和AOF. RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. AOF持久化方式记录每 ...

  5. 分布式内存数据库---redis配置文件常用配置介绍

    想要熟练使用redis,那么redis的相关配置也要非常熟悉,在大数据开发中使用redis就常常需要修改redis的常见配置. 一. redis的单位 redis的数据单位跟常用的单位有点不一样,打开 ...

  6. redis的String、List、Hash、SET、ZSet五中数据类型常用的一些场景总结

    目 目录 1.String类型常见的使用场景 1.1 一般的业务功能模块,比如购物车 1.2 简单的字符缓存 1.3 储存结构体或者对象 1.4 计数功能 1.5 各类场景下(单机或分布式)的标识号 ...

  7. 【狂神说Java】Redis最新超详细版教程通俗易懂1 2020-04-01:NoSQL分类,Redis Windows和Linux安装,性能测试,String,List,Set,Hash,Zset

    要讲的知识 nosql讲解 阿里巴巴架构演进 nosql数据模型· Nosql 四大分类. CAP BASE Redis 入门 Redis安装(Window & Linux服务器) 五大基本数 ...

  8. Redis之String应用场景与SpringCache--存储对象信息、分布式唯一ID、文章阅读量、Lua脚本

    String应用场景 一.存储对象信息 代码 重写Redis序列 解决方式 剖析SpringCache常用注解 @CacheConfig @Cacheable @CachePut @CacheEvic ...

  9. Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)

    1. 第三方库 go-redis 因为 Go 标准库中是没提供 redis 的库,所以我们选择用 go-redis 这个第三方库.源码地址为 https://github.com/go-redis/r ...

最新文章

  1. 使用Auto TensorCore CodeGen优化Matmul
  2. python与php8-php8的扩展arginfo生成工具及工具初体验
  3. [转载] NoSQL开篇——为什么要使用NoSQL
  4. c语言a 寻路算法,JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
  5. 如何用Apache POI操作Excel文件-----如何用Apache POI 画一个离散图
  6. TimePickerDialog -下划线颜色修改
  7. ITIL配置管理流程设计
  8. HP SD2 DAT160小磁带机故障
  9. Mac下Chrome 浏览器右键菜单需双击的问题
  10. 网络术语,接口和协议简介
  11. 伤疤好了有黑印怎么办_疤痕留下黑印怎么办
  12. win10电脑没有声音(电脑放音乐没声音怎么回事)
  13. 折线分割平面(图文解析)
  14. 人类实体瘤临床细胞状态和生态系统图谱(EcoTpyer)
  15. 机械学习房价预测实战(mse 回归 交叉验证)
  16. 技术项目 - Linux网卡中断使单个CPU过载
  17. sendmail服务器部署
  18. win10下解决谷歌浏览器点击安装包无反应
  19. python什么意思v_稍微介绍下python库之VPython
  20. 2021年安全员-B证(安全员)及安全员-B证(安全员)实操考试视频

热门文章

  1. Cpp / __builtin_expect 说明
  2. C++11 std::bind 和 std::placeholder
  3. 如何iis上运行php网站_如何让IIS运行php
  4. excel三次样条函数_日常系列2:二次和三次函数样条、数据的插值
  5. window连接不上linux ftp_xftp怎么连linux,教你xftp怎么连linux
  6. vue创建脚手架 cil
  7. 【POJ1821】Fence
  8. HBase数据存取流程
  9. js处理时间的那些事
  10. Hello Cnblog!