文章目录

  • redis有五种数据类型
    • 字符串类型
    • redis哈希类型
    • redis列表类型
    • redis集合类型
    • redis有序集合

redis有五种数据类型

字符串类型

String类型既可以保存普通文字,也可以保存序列化的二进制数据
,最大可以保存512M数据

SET email scott@163.com
GET email
DEL email

字符串指令
截取字符串内容

GENRANGE email 0 3

获取字符串长度

STRLEN email

设置过期时间KEY-VALUE

set username 5 scott

设置多个Key-value

mset username scott sex male

获得多个value

mget username sex

append在字符串结尾追加内容

set temp abcdset

INCR :数字自增加1

INCR num

数字加上指定的整数值

INCRBY num 25

decr:数字减1
dectby:数字减去指定整数值
没有浮点数减法,但是可以用加法变通一下

127.0.0.1:6379> set 0
(error) ERR wrong number of arguments for 'set' command
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set email scott163@qq,com
OK
127.0.0.1:6379> getrange email 0 3
"scot"
127.0.0.1:6379> strlen email
(integer) 15
127.0.0.1:6379> setex username 5 scott
OK
127.0.0.1:6379> get username
"scott"
127.0.0.1:6379> get username
(nil)
127.0.0.1:6379> mset username jack sex male age 24
OK
127.0.0.1:6379> meget username male age
(error) ERR unknown command 'meget'
127.0.0.1:6379> mget username male age
1) "jack"
2) (nil)
3) "24"
127.0.0.1:6379> mget username sex age
1) "jack"
2) "male"
3) "24"
127.0.0.1:6379> setex temp 60 ABCD
OK
127.0.0.1:6379> append tenmp 1234
(integer) 4
127.0.0.1:6379> get temp
"ABCD"
127.0.0.1:6379> append temp 1234
(integer) 8
127.0.0.1:6379> get temp
"ABCD1234"
127.0.0.1:6379> setex num 100 0
OK
127.0.0.1:6379> incr num
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incrby num 35
(integer) 36
127.0.0.1:6379> get num
"36"
127.0.0.1:6379> incrbyfloat num 0.5
"36.5"
127.0.0.1:6379> get num
"36.5"
127.0.0.1:6379> setex num 200 10
OK
127.0.0.1:6379> decr num
(integer) 9
127.0.0.1:6379> decr num5
(integer) -1
127.0.0.1:6379> decr num 5
(error) ERR wrong number of arguments for 'decr' command
127.0.0.1:6379>

redis哈希类型

当value需要保存更复杂的数据化结构,这时候可以使用哈希类型
HEST:设置哈希表字段

hset 8000 ename Tom
hset 8000 job SALESMAN

获取哈希表字段值

HGET 8000 ename

HMGET获取多个哈希表字段值

HMGET 800 ename job deptno

获取所有哈希表字段值

HGETALL 8000

获取哈希表字段名

hkeys 8000

获取哈希表中的字段数量

hlen 8000

获取哈希表中所有的字段值

hvals 8000

删除哈希表字段

hdel 8000 job deptno

让哈希表的某个字段加上指定值

HINCRBY 8000 deptno 10

浮点数相加

HINCRBYFLOAT 8000 sal 350.5
RDM Redis Console
连接中...
Connected.
Redis:0>flushdb
"OK"
Redis:0>hset 8000 ename Tom
"1"
Redis:0>get age
null
Redis:0>get city
null
Redis:0>hset 8000 job SALESMAN
"1"
Redis:0>hmset 9000 ename scott salesman deptno 10
"ERR wrong number of arguments for HMSET"
Redis:0>hmset 9000 ename scott job salesman deptno 10
"OK"
Redis:0>hget 9000
"ERR wrong number of arguments for 'hget' command"
Redis:0>hgetall 90001)  "ename"2)  "scott"3)  "job"4)  "salesman"5)  "deptno"6)  "10"
Redis:0>hkeys 90001)  "ename"2)  "job"3)  "deptno"
Redis:0>hlen 9000
"3"
Redis:0>hexist 9000 job
"ERR unknown command 'hexist'"
Redis:0>hexists 9000 job
"1"
Redis:0>hvals 80001)  "Tom"2)  "SALESMAN"
Redis:0>hdel 8000 job deptno
"1"
Redis:0>hvals 90001)  "scott"2)  "salesman"3)  "10"
Redis:0>hget all 8000
null
Redis:0>hgetall 80001)  "ename"2)  "Tom"
Redis:0>hmset 8000 deptno 10 sal 2162163
"OK"
Redis:0>HINCRBY 8000 deptno 10
"20"
Redis:0>

redis列表类型

当我们需要向VALUE保存序列化数据,可以使用列表类型
常见的一些指令。

Redis:0>rpush dname 技术部 后勤部 售后部
"3"
Redis:0>rpop dname
"售后部"
Redis:0>lrem 技术部
"ERR wrong number of arguments for 'lrem' command"
Redis:0>lrem dname 技术部
"ERR wrong number of arguments for 'lrem' command"
Redis:0>lrem dname 技术部
"ERR wrong number of arguments for 'lrem' command"
Redis:0>lrem dname 1 技术部
"1"
Redis:0>




redis集合类型

RDM Redis Console
连接中...
Connected.
Redis:0>sadd empno 8001 8002 8003
"3"
Redis:0>smembers empno1)  "8001"2)  "8002"3)  "8003"
Redis:0>sadd tmp scott jack tom
"3"
Redis:0>smembers tmp1)  "jack"2)  "scott"3)  "tom"
Redis:0>scard empno
"3"
Redis:0>smembers empno 8000
"ERR wrong number of arguments for 'smembers' command"
Redis:0>smember empno 8000
"ERR unknown command 'smember'"
Redis:0>sismember empno 8000
"0"
Redis:0>srem empno 8000
"0"
Redis:0>srem empno 8001
"1"
Redis:0>del empno
"1"
Redis:0>del tmp
"1"
Redis:0>sadd empno 8001 8002 8003
"3"
Redis:0>spop empno
"8001"
Redis:0>srandmember emono 1



redis有序集合









002redis常用的数据结构相关推荐

  1. 【算法】常用的数据结构与算法

    学习了王争老师的数据结构与算法之美之后,比较有感触,他把我们常用的数据结构和算法都讲了一遍,而且讲的还不错.整理汇总一下作为笔记. 一.复杂度分析 非常重要.我们必须掌握,基本上要做到,简单代码能很快 ...

  2. 【算法基础】常用的数据结构与算法

    学习了王争老师的数据结构与算法之美之后,比较有感触,他把我们常用的数据结构和算法都讲了一遍,而且讲的还不错.整理汇总一下作为笔记. 一.复杂度分析 非常重要.我们必须掌握,基本上要做到,简单代码能很快 ...

  3. 【算法入门】动态图展示 6 个常用的数据结构,一目了然!

    数据结构的确很枯燥,尤其是初学时候,不知道到底有啥用.不过随着编码年限的增长,我们越会发现它真的很有用,巧妙的数据结构是算法高效实现的助推剂. 今天的文章不会用文字和静态图展现常用的数据结构,因为这种 ...

  4. 算法——常用的数据结构/模板/基础知识

    常用的数据结构/模板/基础知识 (一)c++--优先队列(priority_queue) 最大堆和最小堆的写法 (二)c++中的全排列函数next_permutation() (三)迭代器的使用 (四 ...

  5. 常用的数据结构_动态图展示 6 个常用的数据结构,一目了然

    数据结构的确很枯燥,尤其是初学时候,不知道到底有啥用.不过随着编码年限的增长,我们越会发现它真的很有用,巧妙的数据结构是算法高效实现的助推剂. 今天的文章不会用文字和静态图展现常用的数据结构,因为这种 ...

  6. Python3实现常用的数据结构

    Python3实现常用的数据结构 之前学习Python的时候当做练习的代码.实现了栈.队列.树.图等的常用数据结构,并给出了一些常用算法,比如BFS.DFS.最短路等. Github链接:https: ...

  7. Java基础:Util包下常用的数据结构介绍

    内容摘要:线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构. 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经 ...

  8. 游戏制作中的大宝剑---常用的数据结构与算法

    前言 时间流逝,物是人非,就好像涌动的河流,永无终焉,幼稚的心智将变得高尚,青年的爱慕将变得深刻,清澈之水折射着成长. ----------<塞尔塔传说> PS:为了方便大家阅读,个人认为 ...

  9. 一篇关于 JS 常用的数据结构与算法万字总结

    一.前言 首先,为什么我会学习数据结构与算法呢,其实主要是有两方面 第一,是我在今年的flag里明确说到我会学这个东西 第二,学了这些,对自己以后在工作或者面试也会带来许多好处 然后,本文是最近学习的 ...

最新文章

  1. [原]Python命令
  2. gitHub使用记录
  3. 前端教程之Intro.js轻松实现新手引导效果
  4. toLua关于委托没有注册的解决方案
  5. 工厂模式 java场景_研磨设计模式之简单工厂模式(场景问题)
  6. Java8的产品周期_java8的时间和`Date`的对比
  7. 分享:Django学习笔记(4)---ManyToMany 添加、删除关联、查询
  8. VS2010“.NET研究”中的调试技巧
  9. 用 powershell 脚本 .ps1 写一个自动化的「编译->链接->运行C++文件」脚本
  10. c/c++ 基本线程管理 join detach
  11. 北斗导航 | 基于最小二乘残差法与奇偶矢量法的RAIM算法(附代码)
  12. 关于小米手机网站抢购的一点技术分析
  13. 天才数学家连续拿下菲尔兹奖、新视野奖,专攻“最难的简单问题”,生活中还是个社牛...
  14. cdr怎么做文字路径_CorelDRAW如何制作环绕圆形的路径文字
  15. libfdk_aac介绍
  16. 德莱联盟(判断两个线段是否相交)
  17. RL(Chapter 6): Windy Gridworld
  18. 数据结构:顺序表的就地逆置
  19. Android 模拟器横屏竖屏切换设置
  20. 编写java的软件——Myeclipse,以及反编译的用法.

热门文章

  1. 【BZOJ2809】【codevs1763】派遣,主席树记录前缀和
  2. 【codevs1052】地鼠游戏,标签不都是对的
  3. python基础语法实验要求_Python基础语法-关于条件
  4. 2017.3.14 不重复数字 思考记录
  5. eclipse--基本配置
  6. mosquitto常见问题及其解决办法
  7. java打印日历至Excel_2013日历打印_Excel2013,如何实现点击单元格就出现日历,操作者......
  8. 求图形学基本算法好书推荐?
  9. mini2440_x35 使用minicom进行连接,传送文件
  10. 单因素方差分析[转载]