1. 1.String 存入字符类型
  2. Set name luowen 设置name = luowen 存储
  3. Get name 获取设置好的name的值
  4.  
  5. Setnx name luowen 设置name键值为luowen 如果存在,则返回0 不存在返回1
  6. Mset name luowen age 23 salary 233333 设置多个键值对 一块存错 全成功,全失败
  7. Msetnx name maomao age 23 hoby basketball 如果设置多个键值对中有存在返回失败
  8. Mget name age salary 获取多个键的值
  9.  
  10. Getset name maomao 获取name的值,并设置新的值为maomao
  11.  
  12. Setrange name 3 maomao 将键name 3字符和面的进行替换 结果为luomaomao
  13. Getrange name 3 6 获取键name的值 结果为luomaomao
  14.  
  15. Append name .com 给键nane追加.com 结果为luowen.com
  16.  
  17. Incr age 设置每个值自增 返回结果为24
  18. Incrby age 6 name加上6 如果是负数则键
  19.  
  20. Decr incr相反
  21. Decrby decrby相反
  22.  
  23. Strlen 返回键对应的值得字符长度
  24.  
  25. 2.Hash 方便存对象 键值对
  26.  
  27. Hset user:001 name luowen 设置哈表名字user 表里面的001 name 设置为 luowen
  28. Hsetnx user name maomao 设置哈希表名字中的name 存在,设置不成功
  29.  
  30. Hget user:001 name 获取hash表的user001的值
  31.  
  32. Hmset user:003 name maomao age 23 批量设置
  33. Hmget user:003 name age 批量获取user:003的值
  34.  
  35. Hincrby user:003 age 3 hash表的age值加上3
  36.  
  37. Hexists user:003 name 判断hash表中式否存在name的键
  38.  
  39. Hlen user:003 返回hash表的所有的字段的数目
  40. Hkeys user:003 返回hash表的所有字段
  41. Hvals user:003 返回hash表中所有的值
  42. Hgetall user:003 返回所有的字段和值
  43.  
  44. Hdel user:003 name hashname的值和键删除
  45.  
  46. 3.list 链表 (双向链表)
  47. 1.栈:先进后出 队列:先进先出
  48. 2.lpush 从头压入
  49. Lpush list1 world
  50. lpush list1 hello
  51.  
  52. Lrange list1 0 -1 把链表中的数据从0到尾全部取出
  53. Word
  54. hello
  55.  
  56. 3 rpush 从尾部压入
  57. rpush list2 world
  58. rpush list2 luowen
  59.  
  60. lrange list2 0 -1
  61. world
  62. luowen
  63. 4.linsert 插入出入数据
  64. Rpush list3 luowen
  65. Rpush list3 maomao
  66. Lrange list3 0 -1
  67. Luowen
  68. Maomao
  69.  
  70. Linsert list3 before maomao love
  71. Lrange list3 0 -1
  72. Luowen
  73. Love
  74. maomao
  75.  
  76. Linsert list3 after luowen love
  77. Lrange list3 0 -1
  78. Luowen
  79. Love
  80. Maomao
  81.  
  82. 5 lset 给某个元素复制
  83. Rpush list5 luowen
  84. Rpush list5 maomao
  85.  
  86. Lset list5 0 deom
  87.  
  88. Demo
  89. maomao
  90.  
  91. 6 lrem 删除list表中的数据
  92. Rpush list6 luowen
  93. Rpush list6 luowen1
  94. Rpush list6 luowen2
  95. Rpush list6 luowen3
  96. Rpush list6 luowen4
  97.  
  98. Lrem list6 1 luowen
  99. 删除list6 中值为luowen的值
  100. 7.ltrim
  101. Lpush list7 luowen1
  102. Lpush list7 luowen2
  103. Lpush list7 luowen3
  104. Lpush list7 luowen4
  105. Lpush list7 luowen5
  106.  
  107. Ltrim list7 1 2 (1 2 为保留的范围)
  108. Lpush list7 luowen2
  109. Lpush list7 luowen3
  110. 8 lpop 从链表的头部弹出一个元素
  111. Lpush list8 luowen1
  112. Lpush list8 luowen2
  113. Lpush list8 luowen3
  114.  
  115. Lpop list8
  116. Lpush list8 luowen2
  117. Lpush list8 luowen3
  118. 9 rpop 从链表的尾部弹出一个元素
  119. Lpush list8 luowen1
  120. Lpush list8 luowen2
  121. Lpush list8 luowen3
  122.  
  123. rpop list8
  124. Lpush list8 luowen1
  125. Lpush list8 luowen2
  126. 10 rpoplpush 从一个链表弹出,在从头部压入到另一个链表
  127.  
  128. List demo1
  129. Demo1A
  130. Demo1B
  131. Demo1C
  132.  
  133. List demo2
  134. Demo2A
  135. Demo2B
  136. Demo2C
  137.  
  138. Rpoplpush demo1 demo2
  139.  
  140. List demo1
  141. Demo1A
  142. Demo1B
  143.  
  144. List demo2
  145. Demo1C
  146. Demo2A
  147. Demo2B
  148. Demo2C
  149. 11 lindex 返回一个list小标的索引值
  150. List11
  151. one
  152. two
  153.  
  154. lindex list11 1(list小标)
  155. two
  156. lindex list11 0
  157. one
  158. 12 llen 返回这个链表的元素的长度
  159. 4.set无序集合
  160. 1 sadd 向集合中插入一条数据
  161. Sadd myset1 luowen
  162. 2 srem 删除集合中的一个元素
  163. Srem myset1 luowen
  164. 3 smembers 查看集合中的元素
  165. Smembers myset1
  166. 4 spop 从集合随机弹出一个元素,返回键值
  167. 5 sdiff 两个集合的差集 返回两个集合不一样的,根据第一个集合为标准
  168. Setdemo1
  169. One
  170. two
  171.  
  172. setdemo2
  173. one
  174. three
  175.  
  176. sdiff setdemo1 setdemo2
  177. two(与setdemo2不一样)
  178. sdiff setdemo2 setdeo1
  179. three(与setdemo1 不一样)
  180. 6 sdiffstroe 将两个差集存储到另外一个集合
  181.  
  182. Sdiffstore setdemo1 setdemo2 setdemo3
  183. setdemo1 setdemo2 的差集放到 setdemo3
  184. 7 sinter 将两个集合的交集
  185. 8 sinterstore 将两个集合的交集存储到另外一个集合中
  186. 9 sunion 将两个集合并集
  187. 10 sunionstore 将两个集合并集并存储到另外一个集合中
  188. 11 smove 将以个集合中的元素移动到另外一个集合中
  189. Eg smove myset1 mysetA two mysetB 集合中的two元素移动到mysetB
  190. 12 scard 查看集合中元素的个数
  191. Scard myset1查看myset12元素的个数
  192. 13 sismember 判断是否是集合中的元素
  193. Sismember myset13 luowen 判断luowen是否在myset13中的元素
  194. 14 srandmember myset14 随机取出myset1 中的元素
  195.  
  196. 15 zadd 添加到有序集合中区
  197. Zadd myzsent 1 luowen1
  198. Zadd myzsent 2 luowen2
  199. Zadd myzsent 3 luowen3
  200. Zadd myzsent 4 luowen4
  201.  
  202. Zrange myzsent 0 -1 withscores
  203. 16 zrem 删除有序集合中的元素
  204. Zrem myzsent luowen1 删除myzsent集合中的luowen1
  205. 17 zincrby myzsent luowen1 3myzsent luown1的序号更改为4
  206. 如果没有,就创建他
  207. 18 zrank 找到myzsent 对应值得索引
  208. 19 zrevrank 反过来去索引
  209. 20 zrangebyscore 返回集合中指定的元素
  210. Zrangebyscore mysetdeom 2 5 withscores
  211. 返回mysetdemo2-5中的元素
  212. 21 zcount 返回指定空间的数量
  213. Zcount myset 2 4 返回2 4中的元素个数
  214. 22 zcard 返回集合中所有元素的个数
  215. 23 zremrangbyrank 删除集合中指定区间的元素,并将索引进行排序
  216. 24 zremrangbyscore 删除集合中指定元素,按循序进行排序
  217.  
  218. 5 Redis常用命令
  219.  
  220. Key-values
  221. 1 keys * 匹配键所有的键. 模糊匹配 keys my* 取出所有已my开头的键
  222. 2 exists 判断是否键 exists name判断是否有name这个键是否存在
  223. 3 del 删除键 del name 删除name的键
  224. 4 expire 设置过期时间 expire key time
  225. 5 ttl key 查看键的过期时间
  226. 6 select database 选择数据库
  227. 7 move key dababase1 key移动dao database1中的数据库中
  228. 8 persist 取消键的过期时间
  229. 9 randomkey 随机返回一个键的值
  230. 10 rename 重命名一个键
  231. 11 type key 判断key的数据类型
  232.  
  233. Server
  234. 1 ping ping我们的主机能否链接 链接是否存活
  235. 2 echo 命令 echo demo直接输出
  236. 3 select 选择数据库 select 0-16个数据库
  237. 4 quit exit 退出链接
  238. 5 dbsize 返回数据库的键的个数
  239. 6 info 返回服务器相关信息
  240. 7 config get 返回服务配置信息
  241. 8 flush db 清空数据库
  242. 9 flushall 删除所有数据库中所有的键
  243. 6 Redis 高级应用
  244.  
  245. 1 在配置文件里面设置 requirepass password
  246. 2 进入后 auth 密码 进行授权 方法二: 登入或在后面加上 a 加上密码
  247. 3 主从复制:
  248. One: 一个master服务器可以拥有多个slave
  249. Two: 一个salve可以有多个master 并且还可以与其他的salve相连接
  250. 配置salve
  251. 打开salveof注释 并添加主机的ip以及端口
  252. 主机加了密码的时候还需要配置masterauth 密码
  253. 4 redis 的事务处理
  254. 输入:multi 打开一个上下文
  255. Set age 10
  256. Set age 144
  257. -----------------------------------------------------------
  258. 上面的全部放入队列最后执行
  259. Exec
  260. 最后age144
  261. 回滚
  262. Discard
  263.  
  264. Watch 监视键的命令
  265. 5 Redis的持久化
  266. 方式一: snapshotting (快照)将内存的数据写入到文件中 save 500 32 500秒内有32个键发生变化则发起快照到文件中
  267. 方式二: append only file 将没次写修改的命令保存到文件中
  268. 配置:打开append only
  269. Appendfsync yes
  270. Appendfsync always 每次都写入
  271. Appendfsync everysec 每个一秒写入
  272. Appendfsync no 不写入
  273. 6 发布和订阅消息
  274. 订阅:
  275.    Subscribe tv1 tv2 订阅了两个频道
  276. 发布:
  277. Publish tv1 luweo
  278. 注:publish tv1的信息 订阅的信息都可以收到
  279. 7 虚拟内存
  280. 方式一:暂时把不使用的数据放到硬盘里面
  281.   方式二:可以把数据分割到其他的slave数据服务器中

Redis常用数据结构和操作的更多相关文章

  1. Redis常用数据结构

    Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...

  2. Redis常用数据类型以及操作

    Redis常用数据类型以及操作 目录 Redis常用数据类型以及操作 一.String数据类型 1. SET/GET/APPEND/STRLEN 2. INCR/DECR/INCRBY/DECRBY ...

  3. php数组去重、魔术方法、redis常用数据结构及应用场景

    一.用函数对数组进行去重的方法 1.arrau_unique函数的作用 移除数组中重复的值. 将值作为字符串进行排序,然后保留每个值第一次出现的健名,健名保留不变. 第二个参数可以选择排序方式: SO ...

  4. 【redis】redis常用命令及操作记录

    redis-cli是Redis命令行界面,可以向Redis发送命令,并直接从终端读取服务器发送的回复. 它有两种主要模式:一种交互模式,其中有一个REPL(read eval print loop), ...

  5. Redis 常用数据结构及其控制命令整合

    Redis 键值支持5种基本结构,分别是字符串,列表,哈希,集合,有序集合.每一种数据结构都有对应的取值和设值命令,辅助命令,除此之外,还有一些全局命令,用来管理Redis存储的所有 键. 全局命令 ...

  6. redis常用数据结构解析

    Redis是一个开源的Key-Value存储引擎,它支持string.hash.list.set和sorted set等多种值类型.由于其卓越的性能表现.丰富的数据类型及稳定性,广泛用于各种需要k/v ...

  7. Redis常用命令之操作String类型

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  8. redis常用命令及操作

    说明 连接哨兵模式的redis时,我们连接的哨兵进程的ip和端口,这时很多命令不可用:此时,需要直接连接redis真实的服务器ip和端口:Sentinel模式下,连接真实的ip才可以使用config/ ...

  9. Redis常用类型数据操作

    sortedset: 添加: zadd key score1 member1 score2 member2...  zad mysort 90 laosong 100 zhangsan 获得:zsco ...

随机推荐

  1. 面试题:使用finalkeyword修饰一个变量时,是引用不能变,还是引用的对象不能变?

    /* * 问题:使用finalkeyword修饰一个变量时,是引用不能变,还是引用的对象不能变 * 答: * 使用finalkeyword修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内 ...

  2. php的一个小坑,输出不了json_encode

    明明是旧代码,怎么换个地方就不执行了.一开始怀疑是Php的版本. 最后才知道是我的编辑器nodepad++给坑了.或许不是nodepad++的坑.总之,需要转化为utf-8格式编码即可

  3. 【强网杯2018】逆向hide

    这是事后才做出来的,网上没有找到现成的writeup,所以在这里记录一下 UPX加壳,而且linux下upx -d无法解,也无法gdb/ida attach 因为是64位,所以没有pushad,只能挨 ...

  4. Windows 10正式版历代记:Version 1709、Build 16299都是什么鬼?

    Windows 10免费用!创意者更新秋季版激活秘籍 2017年10月中下旬,微软面向正式版用户推送了Windows 10创意者更新秋季版.这是自发布以来,Windows 10的第五个大版本. 在这篇 ...

  5. Selenium3 Python3 Web自动化测试从基础到项目实战之一启动不同的浏览器及配置

    在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改.从今天开始我们就慢慢从low代码一步一步的学习框架知识. 首先当我们测试环境有了之后我 ...

  6. System.TypeLoadException: Could not load type 'System.IO.Compression.CompressionLevel' from assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

    1.提示错误信息: zipSystem.TypeLoadException: Could not load type 'System.IO.Compression.CompressionLevel' ...

  7. python 基础1.1--windows/linux 下安装python

    一.windows下安装python 1>windows上python后缀是.msi的,下载下来后,直接双击运行.会在c盘生成python.exe的文件,把python.exe的文件加入到win ...

  8. Java 学习 day06

    01-面向对象(Static关键字) package myFirstCode; /* 静态:static. 用法:是一个修饰符,用于修饰成员(成员变量,成员函数) 当成员被静态修饰后,就多了一个调用方 ...

  9. 五个知识体系之-SQL学习-第二天

    创建数据:INSERT INTO userinfo(userid,username,job,level1,companyage) VALUES ('001','xl001','test','P1',' ...

  10. 【BZOJ4241】历史研究 分块

    [BZOJ4241]历史研究 Description IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记.JOI教授为了通过这份日记来研究古代IOI国的生活,开 ...