Redis数据库的特点:

  Redis数据库属于nosql数据库的一种,其存储于内存中(非硬盘),修改较为方便。

  而Redis数据库的存储方式是使用{key:value}方式存储,类似python基础中的字典类型,和python中字典格式相比,其基础格式定义基本雷同:python中字典key值为不重复的不可变内容,value为任意对象(字符串、列表、集合、字典);Redis中key为固定的不重复字符串格式,value为任意对象(字符串、hash值、列表、集合、有序集合)。

  乌班图中如何使用Redis呢?

  进入虚拟机后:

  redis-cli                         进入Redis数据库

  exit                退出Redis数据库

  sudo service redis start/stop/restart   启动/关闭/重启 乌班图 中的Redis数据库功能

  select n              Redis中默认有16个数据库,n为数据库编号0~15,无法新建数据库,默认选择 n=0

如何在Redis数据库中进行增删改查:

  1、value为字符串类型时:

  创建一个key为str_a,value为hello的数据对象:set key value :中文理解,设置key值,value值  

   set str_a hello

  在上述例子中hello后面加一个_world:append key value :中文理解,在key对应的value后面追加当前value值

   append str_a _world

  查询str_a这个key对应的值:get key :中文理解,获取key对应数据(想到了python字典方法,根据key获取value) 

   get str_a 输出结果:"hello_world"

  删除srt_a这个key的相关数据:del key:中文理解,删除key对应数据

    del str_a 输出结果:(integer) 1

  2、value为hash类型时:

  什么是hash类型:即key:value对应类型,称hash类型,在此处可以简单用一个例子来理解 {key:{field:value}}

  因为key太多了,防止理解偏差,所以hash类型中的key我们称作   field ----> 域

  创建:hset key field value :中文理解下:采用 hash格式 设置  key值  field值 value值

   hset hash_a a 1

  我们都知道,字典内的键值对可以有很多,那么我们这个hash值内可以有多个值么,可以一次添加多个值么?答案是肯定可以啊,,,我们这种猪脑子都能想到的,写代码底层的人员肯定也会啊。

   hmset hash_a b 2 c 3 d 4

  增加:也用set,方法和上面一毛一样

  改:同上+1

  查看:查看的角度有点多,首先我们要知道去查什么!

  查看指定的域的值:hget key field

   hget hash_a a 输出结果:"1"

  查看所有的域和值:hgetall key

   hgetall hash_a 输出结果:太长了,自己敲去

  查看所有的域:hkeys key:field本质上也是键值对的key,到这个指定的key里面,把里面一层的key都找出来

   hkeys hash_a

  查看所有的值:hvals key

   hvals hash_a

  3、当value值为列表时:

  创建/增加数据:lpush/rpush key value : 中文理解:左边/右边增加 key中value的值,关键词lpush/rpush后面第一个单词为key,后面所有打包为列表作为value的值

   rpush list_a 1 2 3 4 5 6

  查看:lrange key start stop : l 代表 list 查看key对应值的索引,从start开始,到stop结束(包含头尾)

   lrange list_a 0 3 输出结果是:1,2,3,4

  如何查看对应索引取值呢?

   lindex list 2 输出结果:3

  修改:lset key index value: 中文理解: 列表格式设置key对应值的索引号值改为value值

   lset list_a 3 333

  然后去查看,会发现4变成了333

  删除:rpop/lpop key :中文理解:左/右边开始删除一个数据(????python里面列表的pop删除方法????)

   rpop list_a

  这样,最后的6就没了

  4、当value值为集合时:

  创建/添加数据:sadd key member : 因为集合本身缩写是set,所以这里设置不能再用set了,干脆改成了add ---> + ,value因为无序性且不重复的特点,用member表示

   sadd s_a 1 1 2 3 4 5 6

  这里只存在了6个值,因为1,1,2,3,4,5,6 在这里面会以{1,2,3,4,5,6,}形式存在,而集合内元素不可以重复,两个1,只保留一个

  查看: smembers key

   smembers key

  删除:spop key : 删除一个值,因为无序,所以....我也不知道他会删哪个,随缘吧

   spop s_a

   如果我不要随机删除呢,我就要把上述数据中的5删掉!

  使用指定删除方法:srem key member   (可以输入多个值,一起删除)

   srem s_a 5

  5、当value值为有序集合时:

  什么是有序集合?就是有顺序的集合!有顺序是什么概念,有 索 引 【一个元素不能重复的列表!???】这其中有一个增加概念,分组,即某些元素被编成一组,编组与其他特性概念不冲突,无影响(即不影响顺序,无关索引)

  创建/增加:zadd key score member [score2 member2...]    : z代表有序集合zset zset格式创建/增加key值中 分组为score的value值(可以写好几个),有点绕,看代码

   zadd zs_a 1 a 2 11 2 9 1 b

  其中的1 2 为分组,a 11 9 b才是值,在这其中,a b 为1组,11 9 为2组,之所以为了这样,可能是为了方便删除?

  查看:zrange key start stop : 有点眼熟?上面列表那块的查看方式?没毛病,毕竟我这里也是有顺序的【zset:其实我就是个有部分集合特征的列表 [/滑稽] 】

    zrange zs_a 0 1

  如果我要看1组内容呢?

  分组查看:zrangebyscore key min max

   zrangeby score zs_a 0 1

  注意,后面要跟两个数字,偏偏这俩数字还包含头尾,,,,,单独查中间一组怎么办?这俩数字可以一样啊,,,,1,1这样就好了[/无语ing]

  删除:zrem key member/

   zrem zs_a b

  一次删一个太慢,我要删一片儿:

  1)上面那个方法,你后面多写几个值,可以一起删除;

  2)根据索引删,切片形式删除:zremrangebyrank key min max

   zremrangebyrank zs_a 0 1

  3)除了索引,我们还有个分组:zremrangebyscore key min max

  zremrangebyscore zs_a 0 1

  至此,五种value表现形式下的增删改查基本全了,但除此之外,我们还有一套操作,针对你创建的数据整体,如果我们将上述内容比作表格,我们之前的操作就是在表格中对数据进行增删改查,那么,我们如何对表格本身进行增删改查呢?(如何对整体的key进行操作?)

  补充点,全局方法

  查看所有数据的key值:

   keys *

  删除键值对:del key

   del zs_a

  查看key是否存在:exists key

   exists list_a

  修改key 的值:rename key new_key

   rename str_a stra

  设置有效时间,时间到了会自动删除,单位秒:expire key seconds

   expire s_a 100

  查看有效时间剩余:ttl key

   ttl s_a

  取消有效时间限制:prisist key

   pristst s_a

数据库Redis(一)的更多相关文章

  1. 缓存数据库-redis数据类型和操作(list)

    转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...

  2. linux --- 8. mysql数据库,redis 数据库

    一. mysql 数据库 1.安装方式 ①yum安装 ②源代码编译安装 ③rpm包安装 yum安装的前提条件,是准备好yum源,可以选择163源,清华源,阿里云源,等等等 .安装mariadb的yum ...

  3. 云数据库Redis版256M双机热备款

    云数据库Redis版是兼容Redis协议标准的.提供持久化的缓存式数据库服务,基于高可靠双机热备架构:全新推出的256M小规格款,适用于高QPS.小数据量业务,并支持免费全量迁移,完美服务于个人开发者 ...

  4. 缓存数据库redis

    什么是Redis? Redis是一个TCP服务器,支持请求/响应协议. 在Redis中,请求通过以下步骤完成: 客户端向服务器发送查询,并从套接字读取,通常以阻塞的方式,用于服务器响应. 服务器处理命 ...

  5. 笔记-数据库-redis

    笔记-数据库-redis 1.      redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 stri ...

  6. 云数据库 Redis 版,知识点

    资料 网址 什么是云数据库Redis版 https://help.aliyun.com/document_detail/26342.html?spm=a2c4g.11174283.6.542.6b11 ...

  7. 云数据库 Redis 版

    首先观看视频简介 云数据库 Redis 版是一项易于部署和管理的按需数据库服务,与 Redis 协议兼容.云数据库 Redis 版通过从内存缓存中检索数据而提供高速数据读写功能,并通过同时使用内存和硬 ...

  8. 【一个idea】YesSql,一种在经典nosql数据库redis上实现SQL引擎的方案(我就要开历史的倒车)

    公众号链接 最高级的红酒,一定要掺上雪碧才好喝. 基于这样的品味,我设计出了一套在经典nosql数据库redis上实现SQL引擎的方法.既然redis号称nosql,而我偏要把SQL加到redis上, ...

  9. 一篇文章带你了解NoSql数据库——Redis简单入门

    一篇文章带你了解NoSql数据库--Redis简单入门 Redis是一个基于内存的key-value结构数据库 我们会利用其内存存储速度快,读写性能高的特点去完成企业中的一些热门数据的储存信息 在本篇 ...

  10. [数据库]redis与redis操作

    网上搜了以下redis的入门操作,全TM的关于怎么安装配置和性能特点的. 基本的CRUD(Create, Read, Update, Delete)就谁也没说,简直气疯了. 先记录下自己常用的命令,后 ...

随机推荐

  1. linux无需root挂载iso镜像文件

    引言 起初,我在针对deepin制作一款appimage安装工具,想要其实现的功能就是自动获取图标,只需要输入软件名称和分类即可,当然以后也会寻找方案省去手动输入的麻烦. 后来我发现一个有趣的问题 o ...

  2. Butterfly美化

    Butterfly美化 首先提示,本文量特别大哦!基本上有所有的美化,还在持续更新ing,谨慎入坑......... 主题配置文件修改 基础配置 最最最开始的,好不容易搭建了自己的个人博客,当然要写上 ...

  3. c++ cin 读入txt的问题

    源程序 #include <iostream> using namespace std; struct Stack { int tos; int stackarray[1000]; }; ...

  4. vue中获取元素并控制相应的dom

    1 在标签中使用ref="xxx" 2 在methods中调用this.$refs.xxx this.$refs.xxx.$el获取dom 注意1:大多数情况下为了复用方法,将xx ...

  5. HDU 4628 Pieces(状压DP)题解

    题意:n个字母,每次可以删掉一组非连续回文,问你最少删几次 思路:把所有回文找出来,然后状压DP 代码: #include<set> #include<map> #includ ...

  6. shiro<1.2.4反序列化分析

    0x01.环境搭建 下载地址:https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4 环境:Tomcat 8.5.27 + idea ...

  7. git merge bug

    git merge bug 本地分支 dev commit 后, 直接 pull 远程 dev 分支, 导致远程 dev 分支 merge 到本地 dev 分支了, 取消本次 merge 操作? Re ...

  8. 使用 js 实现一个简易版的动画库

    使用 js 实现一个简易版的动画库 具有挑战性的前端面试题 animation css refs https://www.infoq.cn/article/0NUjpxGrqRX6Ss01BLLE x ...

  9. Typescript & readonly property

    Typescript & readonly property https://www.typescriptlang.org/docs/handbook/classes.html#readonl ...

  10. CSS rulesets

    CSS rulesets https://developer.mozilla.org/en-US/docs/Web/CSS/Syntax#CSS_rulesets https://css-tricks ...