iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >redis基础篇
  • 723
分享到

redis基础篇

2024-04-02 19:04:59 723人浏览 独家记忆
摘要

redis有五种数据类型,分别是string、hash、list、set、zset 一、string类型:redis 127.0.0.1:6379>set name doo//设置一个键值对

redis有五种数据类型,分别是string、hash、list、set、zset

 

一、string类型:

redis 127.0.0.1:6379>set name doo//设置一个键值对,键为name,值为doo

redis 127.0.0.1:6379>get name//获取name的值

redis 127.0.0.1:6379>set name ya        //再次赋值将被覆盖,一个key对应一个value

redis 127.0.0.1:6379>setnx name doo   

//会判断name是否存在,存在返回0,不存在返回1,且写入name=doo这个键值对。

redis 127.0.0.1:6379>setex haircolor 10 red  //指定haircolor的值存在10秒,超过时间则消失

redis 127.0.0.1:6379>setrange name 6 doo.com

//对于name这个字符串的第七个位置改为doo.com,如果替换的没有原来的长,则原来结尾部分依然存在,例如:name=abcdefg,  setrange name 2 12   则name变为a12defg

redis 127.0.0.1:6379>mset key1 doo key2 ya   //批量设置键值对

redis 127.0.0.1:6379>msetnx   //批量判断是否存在,只要有一个存在,则全部设置不成功

redis 127.0.0.1:6379>getset key 30    //获取key的值,同时重新给key赋值

redis 127.0.0.1:6379>mget  //批量获取值,有空的则返回空

redis 127.0.0.1:6379>incr key7    //对key7自增1,如果key7不存在,则默认原来为0

redis 127.0.0.1:6379>incrby  key6  5   //对key6自增5,

redis 127.0.0.1:6379>incrby key6  -4     //对key6自减4

redis 127.0.0.1:6379>decr key6  1   //对key6自减1

redis 127.0.0.1:6379>decr  key6  -2   //对key6自增2

redis 127.0.0.1:6379>append  name  net   //给name的值后面拼加字符串net

redis 127.0.0.1:6379>strlen   name      //查看name的值的长度

 

 

二、hash数据类型,是字段field和值的映射表,占用内存少

redis 127.0.0.1:6379>hset  myhash  field1   hello    //myhash是哈希表

redis 127.0.0.1:6379>hget  myhash  field1     //获取myhash表的field1的值

redis 127.0.0.1:6379>hsetnx  myhash  hello   //判断是否存在,存在返回0,不存在则赋值

redis 127.0.0.1:6379>hmget  myhash  field1  hello  filed2  word    //批量赋值

redis 127.0.0.1:6379>hmget   myhash   filed1   filed2   //批量获取值

redis 127.0.0.1:6379>hincrby user:003  age   5    //对user:003表的age自增5

redis 127.0.0.1:6379>hexists   user:003  age    //会判断age是否存在,存在返回0,否则返回1

redis 127.0.0.1:6379>hlen  user:001     //返回哈希表的键值数量

redis 127.0.0.1:6379>hdel  myhash  age   //对myhash表的age字段删除,返回1删除成功

redis 127.0.0.1:6379>hkeys   myhash    //返回myhash表的所有字段,不返回值

redis 127.0.0.1:6379>hvals   myhash    //返回myhash表的所有值,不返回字段

redis 127.0.0.1:6379>hgetall   myhash    //返回myhash表的所有键和值

 

 

三、list数据类型

redis 127.0.0.1:6379>lpush   mylist   word   //从头部加入一个元素

redis 127.0.0.1:6379>lpush  mylist  hello     //

redis 127.0.0.1:6379>lrange  mylist  0  -1   //从头部第一个取到尾部

redis 127.0.0.1:6379>rpush   mylist  be    //从尾部加入一个元素

redis 127.0.0.1:6379>linsert   mylist  before one two //向one元素前面加入一个元素,在头部为前。

127.0.0.1:6379> lpush  list2  one//向list2中插入值one

(integer) 1

127.0.0.1:6379> lpush  list2  two

(integer) 2

127.0.0.1:6379> lpush  list2  three

(integer) 3

127.0.0.1:6379> lrange list2  0  -1//输出list2的所有值

1) "three"

2) "two"

3) "one"

127.0.0.1:6379> lset list2 1 four //将list2 的two改为four插入数据从头部插入,新插入的数据角标为0

OK

127.0.0.1:6379> lrange list2 0 -1

1) "three"

2) "four"

3) "one"

127.0.0.1:6379> lrem list2 3 one//从list2中删除3个和one相同的元素

(integer) 1

127.0.0.1:6379> ltrim list2 2 -1//保留第三个到结尾的元素

OK

127.0.0.1:6379> rpoplpush  list1  list2//将list1的尾部加到list2的头部

127.0.0.1:6379> lindex list2 0//返回list2第一个位置的值

127.0.0.1:6379> llen list2//返回list2中元素的个数

 

 

四、sets 数据类型  集合

127.0.0.1:6379> sadd myset1 hello//向集合myset1中加入hello元素

(integer) 1

127.0.0.1:6379> smembers myset1//查看myset1的所有元素

1) "hello"

127.0.0.1:6379> sadd myset1 one

(integer) 1

127.0.0.1:6379> srem myset1 one//删除myset1的one元素

(integer) 1

127.0.0.1:6379> spop myset1//随机从myset1中删除一个元素

127.0.0.1:6379> sdiff myset1 myset2//返回两个集合的差集,以前面集合为标准,返回前面那个集合中不在集合2的元素

127.0.0.1:6379> sdiffstore myset4 myset2 myset3//将集合2和3的差距存放于集合4

127.0.0.1:6379> sinter myset1 myset2//取集合1和集合2 的交集

127.0.0.1:6379> sinterstore myset3 myset1 myset2//将集合1和集合2 的交集存于集合3

127.0.0.1:6379> sunion myset1 myset2//取集合1和集合2的并集

127.0.0.1:6379> sunionstore myset3 myset1 myset2  //集合1和集合2的并集存于集合3

127.0.0.1:6379> smove myset2 myset3 three   //将集合2 的three移到集合7中

127.0.0.1:6379> scard myset1//返回集合1的元素的个数

127.0.0.1:6379> sismember myset1 one//测试myset1中是否有one,有则返回1,否则返回0

127.0.0.1:6379> srandmember myset1//随机返回集合1中的一个元素,不删除

 

 

 

五、 有序集合zset

127.0.0.1:6379> zadd myzset1 1 one//增加zset1

(integer) 1

127.0.0.1:6379> zadd myzset1 2 two

(integer) 1

127.0.0.1:6379> zadd myzset1 3 two

(integer) 0

127.0.0.1:6379> zrange myzset1 0 -1//查看有序集合的所有元素

1) "one"

2) "two"

127.0.0.1:6379> zrange myzset1 0 -1 withscores//加withscores可现实元素序号

1) "one"

2) "5"

 

127.0.0.1:6379> zrem myzset1 two//删除集合中的元素

127.0.0.1:6379> zincrby myzset1 2 one//对one的序列号加2

127.0.0.1:6379> zincrby myzset1 -2 one       //对one的序列号-2

127.0.0.1:6379> zrank myzset1 three//返回three的索引值,索引值从0开始,序列号从1开始

127.0.0.1:6379> zrank myzset1 three

(integer) 2

127.0.0.1:6379> zrevrank myzset1 three//先降序,再找索引

(integer) 0

 

127.0.0.1:6379> zrange myzset1 0 -1 withscores//查看元素以及现实序列号

1) "one"

2) "1"

3) "two"

4) "2"

5) "three"

6) "3"

127.0.0.1:6379> zrevrange myzset1 0 -1 withscores//先降序,再查看元素以及序列号

1) "three"

2) "3"

3) "two"

4) "2"

5) "one"

6) "1"

 

127.0.0.1:6379> zrangebyscore myzset1 2 3 withscores//找序列号是2和3的元素

1) "two"

2) "2"

3) "three"

4) "3"

 

127.0.0.1:6379> zcount myzset1 2 4//返回序列从2 到4的元素个数

127.0.0.1:6379> zcard myzset1 //返回有序集合元素个数

 

127.0.0.1:6379> zrange myzset1 0 -1//先看索引

127.0.0.1:6379> zremrangebyrank myzset1 0 1  //删除索引值从0到1的元素

127.0.0.1:6379> zremrangebyscore myzset1 2 5//删除序列号是2到5的元素

 

 

 

 

元素过期:

127.0.0.1:6379> set age 20//设置age的值为20

OK

127.0.0.1:6379> get age          //获取age的值

"20"

127.0.0.1:6379> expire age 20//设置age的值存在20秒

(integer) 1

127.0.0.1:6379> ttl age//获取剩余存在时间,秒

(integer) 16

 

 

 

 

键值相关命令:

127.0.0.1:6379> keys  *       //返回所有的键

127.0.0.1:6379> keys  my*     //返回my开头的所有键

127.0.0.1:6379> exists  name    //查看name键是否存在,存在返回1,否则返回0

127.0.0.1:6379> del  age       //删除age的键

127.0.0.1:6379> expire   age   10         //设置过期

127.0.0.1:6379> persist   age        //取消过期设置

127.0.0.1:6379> move  age  1     //将age这个键移动到1数据库

一共16个数据库,从0-15    开始默认是0

127.0.0.1:6379> select 0      选择进入0号数据库

127.0.0.1:6379> randomkey     随机返回一个key

127.0.0.1:6379> rename  age  age.new    给键重新命名

127.0.0.1:6379> type  age       返回值的数据类型,(string、zset、list等)

 

 

 

服务器相关命令:

127.0.0.1:6379> ping       测试与服务器连接正常,正常返回pong

127.0.0.1:6379> echo       类似于回显

127.0.0.1:6379> select 2     选择2号数据库

127.0.0.1:6379> quit    //退出,或者用exit

127.0.0.1:6379> dbsize     //返回当前库键的数目

127.0.0.1:6379> info       //获取redis的信息

127.0.0.1:6379> config  get  *    //返回当前所有配置项

127.0.0.1:6379> CONFIG GET timeout//返回timeout配置项的参数值

1) "timeout"

2) "0"

127.0.0.1:6379> flushdb       //删除当前库中所有的key

127.0.0.1:6379> flushall       //删除所有库的所有key,不管在哪个库下都是

 


您可能感兴趣的文档:

--结束END--

本文标题: redis基础篇

本文链接: https://www.lsjlt.com/news/52398.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis基础篇
    redis有五种数据类型,分别是string、hash、list、set、zset 一、string类型:redis 127.0.0.1:6379>set name doo//设置一个键值对...
    99+
    2024-04-02
  • Redis( 基础篇 ==> StringRedisTemplate的使用
    本章导学: 为什么要使用StringRedisTemplateStringRedisTemplate操作String类型数据StringRedisTemplate操作Hash类型数据 一、 为什么要使用StringRedisTemplat...
    99+
    2023-09-28
    redis 缓存 哈希算法 spring boot java
  • Python基础篇-Python基础语法
    为什么学习pythonhttp://www.apelearn.com/bbs/thread-7739-1-1.html Python的安装 getconf LONG_BIT     查看系统版本多少位 rpm -q python uname...
    99+
    2023-01-31
    基础 语法 Python
  • python 基础篇(一)
    默认的python的文件为:文件名.py #!/usr/bin/env python   # coding=utf-8     对中文的支持(切记:等号两边没有空格)执行python 文件:[root@localhost Desktop]#...
    99+
    2023-01-31
    基础 python
  • 131.【MySQL_基础篇】
    MySQL_基础篇 (一)、MySQL 介绍1.MySQL三大阶段(1).基础篇(2).进阶篇(3).运维篇 2.MySQL 概念3.数据模型(1).关系型数据库(RDBMS) ...
    99+
    2023-10-06
    mysql adb android
  • python之基础篇(二)
    防伪码:忘情公子著一、面向过程与面向对象  面向过程:    以指令为中心,由指令去处理数据    只要考虑如何组织代码去解决问题  面向对象:    以数据为中心,所有的处理代码都围绕数据展开    要考虑如何设计数据结构组织数据,并且提...
    99+
    2023-01-31
    基础 python
  • python之基础篇(一)
    防伪码:忘情公子著一、python介绍  python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。  python语法简洁明晰,特色之一是强制用空白符...
    99+
    2023-01-31
    基础 python
  • python之基础篇(四)
    防伪码:忘情公子著本篇我们来说说python的内置对象类型及其运算。  python有许多的内置类型,我们为什么要使用内置类型呢?python编程时是尽量去使用自定义类型还是尽可能多的使用内置类型呢?  内置类型对python本身来讲它的理...
    99+
    2023-01-31
    基础 python
  • Tornado基础学习篇
    1.1 Tornado是什么? Tornado是使用Python编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。 我们现在所知道的Tor...
    99+
    2023-01-30
    基础 Tornado
  • python之路-基础篇
    python基础第一章1、python介绍python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。  ...
    99+
    2023-01-31
    之路 基础 python
  • H3C基础配置篇
            最近,入手一台H3CS3600V2-SI鼓捣了大半个月终于是按照BOSS的要求配好.大部分时间都花在查官方文档和售后Email上,效率极低.如果基础知识,扎实感觉有一个星期完全足够了!下面就来总结一下:组网需求及内网信息收集...
    99+
    2023-01-31
    基础 H3C
  • python之基础篇(三)
    防伪码:忘情公子著python编程基础及编程风格:  语句和语法    注释:      #:可以从一行的任何地方开始    续行:      \:只能在行尾      ''':闭合操作符,单一语句跨多行。实现多行注释、内置文档等功能   ...
    99+
    2023-01-31
    基础 python
  • linux 培训-基础篇
    一.systemctl1.服务器启动过程redhat 7以前启动方式,init: 按顺序启动 1 2 3 4。  启动慢redhat 7 systemd:并行化启动 按依赖关系启动。 1 2 3 4(network) 5 6 7 ...
    99+
    2023-06-06
  • python之路-基础篇3
    作业:1、每周写一篇博客2、编写登录接口     输入用户名密码     认证成功后显示欢迎信息     输错三次后锁定3、多级菜单     三级菜单     可依次选择进入各子菜单     所需新知识点:列表、字典data = { "水...
    99+
    2023-01-31
    之路 基础 python
  • java——《面试题——基础篇》
    全文章节 Java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java—...
    99+
    2023-10-21
    java 面试题
  • python之路-基础篇2
    10、if else 流程判断举例说明1:import getpass  #引用getpass这个模块 _username = "kk" _password = "123456" username = input("username:") ...
    99+
    2023-01-31
    之路 基础 python
  • Python学习基础篇(一)
    Python简介和入门Python简介走进Pythonpython的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一...
    99+
    2023-01-31
    基础 Python
  • python之路-基础篇5
    1、字符串常用操作#字符串操作 name = "my name is kk" print(name.capitalize())   #>>>My name is kk #capitalize()  #首字母大写 pri...
    99+
    2023-01-31
    之路 基础 python
  • Python面试题 基础篇
    最近,整理了一些python常见的面试题目,语言是一种工具,但是多角度的了解工具能帮助我们更好的工作。 从很多国内网站以及一些国外论坛翻译过来的,虽然本文标注为"原创",但是仅仅是自己日常整理的材料,文章后面会附上参考来源。 第一部分:...
    99+
    2023-01-31
    面试题 基础 Python
  • redis基础问题
    redis  replication  faq 1.master端set  key,在slave端接收不到key slave端日志内容: redis  Error c...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作