redis支持丰富的数据类型,

是个非关系型数据库。以键值对存储,存在内存里,

: string、      字符

  list、        列表

  set、        集合

  zset(sorted set)、  有序集合

  hash        哈西

进入 数据库:  

  redis-cli    

  keys *  查看所有key,

  set name binbin  str 的操作,set key  value

  

  get name     "binbin"  查看

  type name      string  查看类型

    key只能有一个,再get name 时将覆盖原有的值,  

  append name abc  追加,   

 get name      "binbinabc"

  mset age 12 sex boy  多组一起输入

  mget age sex       查多个
  1) "12"
  2) "boy"

   del name      删除
  (integer) 1
   get name
  (nil)

  exists name    查看是否存在
  (integer) 0      存在返回 1  不存在返回 0

   expire name 21    为已有的 key 设置存活时间
  (integer) 1    

   ttl name        查看存活时间
  (integer) 17

  set name aa ex 30    在创建的同间设存活时间
  OK
   ttl name
  (integer) 27

  setex name aa  30    另一种方式
  OK

  set read_c 0    加 1 操作
  OK
   incr read_c
  (integer) 1
   incr read_c
  (integer) 2
   incr read_c
  (integer) 3

   decr read_c     减 1 操作
  (integer) 2
   decr read_c
  (integer) 1

   incrby read_c 1000    设加多少,
  (integer) 1000

   decrby read_c 999    设减多少
  (integer) 1

集合(元序,有序

sadd set_1 1 2 3 3 4 1 0 4 5 6
(integer) 7

smembers set_1
1) "0"
2) "1"
3) "2"
4) "3"
5) "4"
6) "5"
7) "6"

srem set_1 6    删除,因为是元序 要指定

spop set_1     删除  随机

smove set_1 set_2 1    将 seft_1 中 1 的值移动到 set_2中

sismember set_2 1     判断该值在不在这个集合里
(integer) 1         是返回 1,否返回 0

smembers set_1
1) "0"
2) "2"
3) "3"
4) "4"
5) "5"
 smembers set_2
1) "1"
2) "4"
3) "5"
4) "6"
 sinter set_1 set_2      交集运算
1) "4"
2) "5"

sinterstore new set_1 set_2    交集运算后的结果放进 new 的 key 中
(integer) 2

smembers new
1) "4"
2) "5"

sunion set_1 set_2      并集运算

sunionstore news ste_1 set_2  并集运算后的结果放进 news 里

sdiff aet_1 set_2        差集运算
(empty list or set)
127.0.0.1:6379> sdiffstore s set_1 set_2  差集后的结果放进 s 中

srandmember new      随机返回
"5"

有序集合  zset

zadd zs 1 a 2 c 3 f    创建有序集合,

zrange zs 0 -1
1) "a"
2) "c"
3) "f"

127.0.0.1:6379> zrange zs 0 -1 withscores
1) "a"
2) "1"
3) "c"
4) "2"
5) "f"
6) "3"

127.0.0.1:6379> zrevrange zs 0 -1    逆序
1) "f"
2) "c"
3) "a"
127.0.0.1:6379> zrevrange zs 0 -1 withscores
1) "f"
2) "3"
3) "c"
4) "2"
5) "a"
6) "1"
127.0.0.1:6379>

zrem zs a    删除
(integer) 1

zcard zs  查看元素
(integer) 2

count zs a    查看指定元素,

 

hash 操作

hset user name binbin    可以理解为 user : { name: binbin }

hget user name      查看

hmset user age 15 sex boy addr chan      一次插入多组

hmget user age addr      一查看多组,
1) "15"
2) "chan"

hkeys user      查看 hash 里边的key
1) "name"
2) "age"
3) "sex"
4) "addr"

> hvals user       查看 hash 里的 values
1) "binbin"
2) "15"
3) "boy"
4) "chan"

hgetall user      查看所有 k,v
1) "name"
2) "binbin"
3) "age"
4) "15"
5) "sex"
6) "boy"
7) "addr"
8) "chan"

hlen user    查看该 hash 里有几项,
(integer) 4

type user
hash

list 列表  操作

lpush l1 1 2     左添加
(integer) 2
 lpush l1 1 2 3 4
(integer) 6
 lrange l1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "2"
6) "1"    他不会覆盖,

rpush l1 10    右添加
(integer) 7
 lrange l1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "2"
6) "1"
7) "10"

llen l1
(integer) 7

lindex l1 0
"4"      索引查看,

lpop l1     左删除
"4"
 rpop l1    右删除
"10"

lrem l1 1 1   指定删除,1 个 为1 的值 ,

lrem l1 1 2   指定删除 1 个为 2 的值,

lrem l1 -1 2   指定删除 从右到左删除1 个 为2的值,

lrem l1 -2 2   指定删除 从右到左 删除2个为2的值,

lrem l1 0 2   指定删除所有的 为2的值,

潭州课堂25班:Ph201805201 redis第四课 (课堂笔记)的更多相关文章

  1. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第四课 登录注册 (课堂笔记)

    index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  2. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第三课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  3. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第二课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  4. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第一课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  5. 潭州课堂25班:Ph201805201 第十课 类的定义,属性和方法 (课堂笔记)

    类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类 ...

  6. 潭州课堂25班:Ph201805201 django 项目 第五课 静态页面转为模板 (课堂笔记)

    一.分析静态页面   1.静态vs动态 条目 静态页面 动态页面 网站内容 固定不变 经常变动 浏览器加载速度 更快(无需向服务器发起请求) 更慢 改变网站内容 很难(修改或者创建新的html页面) ...

  7. 潭州课堂25班:Ph201805201 tornado 项目 第四课 增加用户注册登录(课堂笔记)

    tornado 相关说明 在 handlers 中创建个 auth.py 用来做用户登录,在这文件中创建个类,并逐步完善 在 tornado 中创建 login.html 文件,是个登录页面 {% e ...

  8. 潭州课堂25班:Ph201805201 django 项目 第四十六课 查错 补缺 (课堂笔记

    从讲项目开始,查找错误,完善笔记,尽可能 翻译没一句代码(以后台为主), 本项目亮点,也是重点 Django ORM中对数据查询的优化(only.defer.select_related) redis ...

  9. 潭州课堂25班:Ph201805201 django 项目 第三十一课 在线课堂视频点播的实现(课堂笔记)

    在线课堂 一.数据库模型设计 # 在apps/course/models.py中定义如下模型: from django.db import models from utils.models impor ...

随机推荐

  1. 【vim】查找重复的连续的单词

    当你很快地打字时,很有可能会连续输入同一个单词两次,就像 this this.这种错误可能骗过任何一个人,即使是你自己重新阅读一遍也不可避免.幸运的是,有一个简单的正则表达式可以用来预防这个错误.使用 ...

  2. freeRTOS中文实用教程6--错误排查

    1.前言 本章主要是为刚接触FreeRTOS 的用户指出那些新手通常容易遇到的问题.这里把最主要的篇幅放在栈溢出以及栈溢出侦测上 2.printf-stdarg.c 当调用标准C 库函数时,栈空间使用 ...

  3. oracle查询重复数据方法

    SQL重复记录查询方法 2008年08月14日 星期四 21:01 SQL重复记录查询 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peop ...

  4. (记录合并)union和union all的区别

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION内部的SELECT语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条SE ...

  5. main.js 里的/* eslint-disable no-new */

    注意项目中的这个,它的作用是: 在js里面,new 一个对象,需要赋值给某个值(变量),用Vue实例化的时候,不需要赋值给值(变量),所以要单独给配一条规则,给new Vue这行代码上面加这个注释,把 ...

  6. LiteQuery MAX(Integer)、MAX(String) 判断是否返回值

    unit Unit6; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...

  7. HDU1730 Northcott Game 尼姆博弈

    Northcott Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  8. [转] HTML5 FormData 方法介绍以及实现文件上传

    XMLHttpRequest 是一个浏览器接口,通过它,我们可以使得 Javascript 进行 HTTP (S) 通信.XMLHttpRequest 在现在浏览器中是一种常用的前后台交互数据的方式. ...

  9. php用json_encode中文问题

    echo json_encode($arr,JSON_UNESCAPED_UNICODE); 用这个中文就不会被转码了

  10. vtiger二次开发

    搞了快两个星期的vtiger,慢慢的摸索到了一些东西 数据库相当的复杂,已有的模块我只是分析了下页面的加载,方法的调用 大部分时间在研究怎么添加新的功能模块,今天才知道模块可以通过输入命令的方式来添加 ...