本文知识较浅面,适合小白,如需进阶另寻他路

一,优缺点:

优点:

  • 高科拓展性
  • 分布式计算
  • 低成本
  • 架构的灵活性、半结构化数据 没有复杂的关系

缺点:

  • 没有标准化
  • 有限的查询功能(到目前为止)

分类

  • 列表存储
  • 文档存储
  • Key-Value存储
  • 图存储
  • 对象存储
  • xml数据库

显著特性:

  • 高效性:Redis读取的速度是110000次/S,写的速度是81000次/S。

  • 原子性:对每一条数据操作要么成功,要么失败。

  • 支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)。

  • 稳定性:redis支持各种架构,主从复制,哨兵模式,redis集群。

  • 其他特性:支持过期时间,支持事务,消息订阅。

二、操作:

1、安装:

windows 下 : 点击此处
linux下:
sudo apt install redis-server
使用方式:
  • redis-cli 启动
  • -p # 端口
  • -h # 主机

三、数据库的切换:

redis默认带有16个数据库,编号从0-15。进⼊redis后默认数据库是0,可以使用select num进⾏切换客户端不显示中⽂的处理:打开客户端的时候添加参数

–rawredis-cli --raw

四、数据类型:

string

  • 简介:
    string 可以包含任何数据,⽐如jpg 图⽚或者序列化的对象。
    string类型是Redis最基本的数据类型,⼀个键最⼤能存储512MB。常用于:缓存页面、session共享、计数

  • 设置键:

命令:SET key value #设置单键值对
>set h1 100 #设置h1的值为100命令:mset key value [key value] #设置多个键值对
>mset name '王宝强' age 30 gender '男'命令:setex key seconds value #设置键值及过期时间(秒单位)
>setex age 100 20 #设置年龄的值为20,过期时间100秒
  • 获取键
命令:get key #获取单个键
>get h1命令:mget key1 key2 key3 #获取多个键
>mget name age sex
  • 查看过期时间
命令:ttl key
>ttl a1 #查看a1的过期时间
  • 运算
原来的值必须是数值字符串
命令:incr key #将对应的key 加1
命令:decr key #将对应的key值减1
命令:incrby key num #将对应的key加指定值
命令:decrby key num #将对应的key的值减去指定值
  • 其他操作:
命令:append key value #追加值,redis中值都是字符串,追加就是字符拼
接>append name 'hello' #如果原来的值是tom,那么现在就是tomhello
命令:strlen key #获取值得⻓度

hash

  • 简介:
    Redis hash 是⼀个键值(key=>value)对集合。Redis hash是⼀个string类型的field
    和value的映射表,hash特别适合用于存储对象。每个 hash 可以存储 2的32次方
    -1 键值对(40多亿)。存储形式
  • 设置值
命令:hset key field value #设置key所指对象的指定属性的值
命令:hmset key field value [field value] #设置key所指对象的多
个属性值
命令:hsetnx key field value #当field字段不存在时 设置key所指对
象的field属性值
eg:
hset person name '⼆狗⼦'
hmset person age 20 sex '男'
hsetnx person maried '未婚'
  • 获取值
命令: hget key field #获取key指定的对象的属性值
命令: hmget key field [field] #获取key指定对象的多个属性值
命令: hgetall key #获取key所指对象的所有属性的名称和值
命令: hkeys key #获取key所指对象的所有属性名
命令: hvals key #获取key所指对象是的所有属性值
命令: hlen key #获取key所指对象的属性个数
  • 其他操作
命令:hincrby key field increment #为key所指对象的指定字段的整
数值加上increment
命令:hincrbyfloat key field increment #为key所指对象的指定字段的
实数值加上increment
命令:hexists key field #判断当前的字段是否存在在(在返回1 否则返回
0)
命令:hdel key field [field] #删除字段和值

list

  • 简介:
    redis 列表是简单的字符串列表,按照插⼊顺序排序。你可以添加⼀个元素到列表
    的头部(左边)或者尾部(右边)。列表最多可存储 2的32次⽅ - 1 元素
    (4294967295, 每个列表可存储40多亿)。
    常应⽤于:1、对数据量⼤的集合数据删减 2、任务队列
  • 添加数据:
命令:lpush key value [value] #头部插⼊数据
命令:lpushx key value #如果列表存在则在列表头部插⼊数据
命令:rpush key value [value] #在列表尾部添加数据
命令:rpushx key value #如果列表存在,则在尾部添加数据
命令:linsert key before|after value value #在指定值前或后插⼊数
据
命令:lset key index value #设定指定索引元素的值
注意:索引的值从左边开始,向右增加,左边第⼀个是0,从右边向左索引编号
为:-1 -2...
  • 获取数据
命令:lpop key #左侧出队并返回出队元素
命令:rpop key #右侧出队并返回出队元素
命令:lindex key index #返回指定索引的值
命令:lrange key start end #返回存储列表中的指定范围的元素[start,end]
命令:lrem key count value #从列表⾥移除前 count 次出现的值为
value 的元素count > 0: 从头往尾移除值为 value 的元素。count < 0: 从尾往头移除值为 value 的元素。count = 0: 移除所有值为 value 的元素。
  • 其他操作
命令:llen key #获取列表⻓度
命令:ltrim key start stop #裁剪列表 保留start到stop之间的元素,
其它都删除ltrime mylist -3 -1 #从索引为-3到-2的保留, 以外的全部删除

set 无序的集合

  • 简介
    Redis的Set是string类型的⽆序集合,元素具有唯⼀性 不重复。集合是通过哈希表
    实现的,所以添加,删除,查找的复杂度都是O(1)。
    常应⽤于:对两个集合间的数据进⾏交集、并集、差集运算
  • 添加元素
sadd key member [member] #添加多个元素
  • 获取元素
 smembers key #获取集合中所有的元素scard key #返回集合元素的个数srandmember key [count] #返回集合中随机元素的值,可以返回count个
  • 其他操作
spop key [count] #移除集合中随机的count个元素,并返回
srem key member1 [member2] #移除集合中 ⼀个或者 多个 成员
sismember key member #判断元素是否在集合中 存在返回1 不在返回0
  • 集合操作
求多个集合的交集: sinter key [key...]
求多个集合的差集 (注意⽐较顺序):sdiff key [key...]
求 多个集合的并集: sunion key [key....]

zset 有序从大到小排序

  • 简介
    Redis zset 和 set ⼀样也是string类型元素的集合,且不允许重复的成员。不同的是
    每个元素都会关联⼀个double类型的分数。redis正是通过分数来为集合中的成员
    进⾏从⼩到⼤的排序。zset的成员是唯⼀的,但分数(score)却可以重复。
    常应⽤于:排⾏榜

  • 添加元素

zadd key score member [score member] #添加多个元素
zincrby key increment member #对指定的成员增加权重
increment
  • 获取元素
zrange key start end #返回指定范围的元素
zcard key #返回元素的个数
zcount key min max #返回有序集合中权重在min和max之间的元素的
个数
zscore key member #返回有序集合中 member(元素) 的权重
(score)
zrange key start end withscores #返回当前key中 所有的权重
(score)和元素(member)

五、其他操作:

keys * #查看所有的keykeys u* #查以u开始的keykeys n??? 查找以n为开头⻓度为4个的keykeys n 查找 包含 n 的所有的key⽀持的正则表达式:
- h?llo 匹配第⼆位为任意的字符
- h*llo 匹配第⼆位为任意字符 0个 或多个
- h[ab]llo 匹配第⼆位为 a或者b的字符的key
- hello 匹配第⼆位除了e字符以外的任意的key
- h[a-z]llo 匹配第⼆位为a-z的⼩写字⺟的key
exists key #判断键是否存在type key #查看key对应的value的类型del key #删除指定keyexpire key 10 #设置过期时间,秒persist key #移除key的过期时间rename key newkey #修改key的名称(如果新的key的名字存在 则会把存在的key的 值 覆盖掉)randomkey #随机返回⼀个 keymove key db 将键移动到指定库flushdb #清空当前库所有key
flushall #清空所有库⾥的keyexit #退出redis客户端
quit 退出客户端查看服务器信息
info
dbsize 当前库中有多少key

最全面的_Redis_基本操作总结相关推荐

  1. 全站最全面的Python 基础入门必备知识大全,学完即就业!【建议收藏仔细学习】

    前言: Python作为21世纪最火的编程语言,市面上各种学习视频层出不穷,关于Python的学习氛围也逐渐浓厚!!最近一段时间越来越多的知友们在私信我,希望我出一期python基础入门的内容,肝了N ...

  2. 全面的Swift学习资料整理

    资料1 ---教程类 官方文档中文翻译http://wiki.jikexueyuan.com/project/swift/Github上的地址点我 Using Swift with Cocoa and ...

  3. 最全面的Unity游戏开发指南视频教程 第2卷

    最全面的Unity游戏开发指南视频教程 第2卷 流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小 ...

  4. B站疯传!拿走不谢!最全面的JAVA面试材料!完整版开放下载,叫我好人!

    花了3个月整理的超级全面的Java面试题,免费分享给大家 获取方式: 扫描下方公众号,回复:111 为广大Python爱好者精心准备的<Python进阶>,是<Intermediat ...

  5. 花了3个月整理的超级全面的Python资料和Java面试题,分享给大家!

    为广大Python爱好者精心准备的<Python进阶>,是<Intermediate Python>的中文译本,IntermediatePython这本书具有如下几个优点:简单 ...

  6. [你必须知道的.NET]第二十一回:认识全面的null

    <你必须知道的.NET>网站 | Anytao技术博客  [你必须知道的.NET]第二十一回:认识全面的null 发布日期:2008.7.31 作者:Anytao © 2008 Anyta ...

  7. 最新、最全面的LAMP+wordpress安装过程!!

    最新.最全面的LAMP+wordpress安装过程!! 前言:网上有好多关于LAMP+论坛.博客之类的帖子,但是写的都不是很全,而初学的用户经常为此而烦恼,因为好多版本使用的方法都有一些小的差别,导致 ...

  8. Node初学者入门,一本全面的NodeJS教程,微小的web框架,能实现文件上传功能以及数据解析功能...

    Node初学者入门,一本全面的NodeJS教程 转载于:https://www.cnblogs.com/hfultrastrong/p/8036672.html

  9. java web视频_超全面的JavaWeb视频教程

    超全面的JavaWeb视频教程 此套JavaWeb视频为非常全面的教程,适合JavaWeb爱好者自学.课程循序渐进.深入浅出,涉及到所有的知识点.学会本套教程,你就可以完全掌握到JavaWeb开发精髓 ...

最新文章

  1. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(boxplot)实战
  2. Centos调出图形化的网络管理
  3. Juniper Space License Issue on Citrix Xen Environment
  4. LeetCode 22. 括号生成(回溯/DP)
  5. Redux简介以及Redux应用程序中的状态更新方式
  6. DELL服务器 技术交流QQ群
  7. svn 同步备份的所有问题,亲测可用
  8. SpringBoot实战教程(5)| 整合Freemaker
  9. Intelli IDEA+jdk++maven+tomcat环境配置
  10. Android开发实战——计算器
  11. java uml Rose_Rational Rose与UML教程
  12. esxi6.5虚拟机迁移
  13. Python学习:Python分析中国人口(一)爬取数据
  14. java电话号码生成器
  15. 全面解读“数字孪生”
  16. 计算机怎么不读u盘,老司机告诉你电脑不读U盘的解决方法
  17. 云上解锁Web3.0 阿里云XR平台助力彼真科技呈现沉浸式演唱会
  18. EXCEL里如何知道某种颜色的ColorIndex的值
  19. 蓝桥杯单片机比赛模板
  20. webpack将js混淆代码

热门文章

  1. 人像拍摄时眼部合焦的技巧
  2. 虚拟化系列-VMware vSphere 5.1 高可用性
  3. 代码审核工具ReviewBoard在Windows下安装问题
  4. linux用户和组帐户管理
  5. jQuery之动画效果
  6. 深度优先搜索和广度优先搜索的比较与分析
  7. 后台开发经典书籍--高性能mysql
  8. STM32的IIC应用详解3
  9. 测试系统存储是大端模式还是小端模式的方法
  10. 操作系统原理二进程切换,调度