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. /etc/profile 路径出错后相关的命令失效解决方式

    关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用) 今天学习LINUX 下配置jdk 和安装tomcat 通过VI编辑/etc/profi ...

  2. oracle查看表名称和表字段注释

    --查询该表字段的注释select * from user_col_comments where Table_Name like '%SMS%' --查询类似表select * from user_t ...

  3. js使用中的小问题----textarea是否有value属性

    使用jquery的选择器时想给textarea设置一个默认值时,采取了下面的方法: 不过失败了,但是看教程上确实成功的,那么肯定是有问题的. 经过上网查找以及自己验证发现: 1.textarea标签确 ...

  4. python 中is和== 的理解

    Python中的对象包含三要素:id.type.value其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值is判断的是a对象是否就是b对象,是通过id来判断的==判断的是a对 ...

  5. zabbix3.0对tcp连接数和状态的监控优化

    zabbix3.0对tcp连接数及状态的监控优化 之前对tcp的监控采用netstat命令,发现在服务器繁忙的时候效果不理想,这个命令占用大量的cpu有时候高达90%以上,可能会导致业务的不稳定,所以 ...

  6. Android数据存储:File

    Android数据存储之File Files:它通过FileInputStream和FileOuputStream对文件进行操作.但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写 ...

  7. 关于Java源文件中public类的问题

    结论: 一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必须与之一致,否则无法编译: 如果源文件中没有一个public类,则文件名与类中没有一致性要求: 至于mai ...

  8. wap页面缩放

    html{font-size: 100%;}.in-main{ min-width:320px; max-width:640px; margin:0 auto; font-size:14px; bac ...

  9. java多线程快速入门(十一)

    在方法上面加synchonizd用的是this锁 package com.cppdy; class MyThread7 implements Runnable { private Integer ti ...

  10. python 全栈开发,Day138(scrapy框架的下载中间件,settings配置)

    昨日内容拾遗 打开昨天写的DianShang项目,查看items.py class AmazonItem(scrapy.Item): name = scrapy.Field() # 商品名 price ...