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. TERMIOS详解【转】

    转自:https://blog.csdn.net/guo_wangwei/article/details/1102931# TERMIOS NAME termios, tcgetattr, tcset ...

  2. 如何在Linux下写无线网卡的驱动【转】

    转自:http://www.crifan.com/files/doc/docbook/linux_wireless/release/html/linux_wireless.html 版本:v0.3 H ...

  3. eclipse自动生成变量名声明(按方法返回值为本地变量赋值)

    eclipse自动生成变量名声明(按方法返回值为本地变量赋值) ctrl+2+L 这个快捷键可自动补全代码,极大提升编码效率! 注:ctrl和2同时按完以后释放,再快速按L.不能同时按! 比如写这句代 ...

  4. javascrip学习之 数据类型和变量

    JavaScript 是脚本语言.是一种轻量级的编程语言.是可插入 HTML 页面的编程代码,可由所有的现代浏览器执行. JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{.. ...

  5. zabbix客户端日志报错no active checks on server [192.168.3.108:10051]: host [192.168.3.108] not found

    zabbix客户端日志报错: 45647:20160808:220507.717 no active checks on server [192.168.3.108:10051]: host [192 ...

  6. php获取POST数据的三种方法

    方法一,$_POST $_POST或$_REQUEST存放的是PHP以key=>value的形式格式化以后的数据. $_POST方式是通过 HTTP POST 方法传递的变量组成的数组,是自动全 ...

  7. DOM绑定事件

    addEventListener(event,function,useCapture)event:事件名,比如clickuseCapture布尔值,指定事件是否在捕获或冒泡阶段执行. 可能值: tru ...

  8. Oracle12c 性能优化攻略:攻略目录表

    注:本文来源于 [美] Sam Alapati ,   Darl Kuhn ,  Bill Padfield  著   朱浩波 翻译 <Oracle Database 12C 性能优化攻略> ...

  9. 在IDEA中实战Git

    工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程git仓库上获取项目源码 场景三:小 ...

  10. centos7 下安装配置python3.6

    一.首先,官网下载python3的所需版本. wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 二.然后,解压缩文件> ...