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. libevent 和 libev 提高网络应用性能

    构建现代的服务器应用程序需要以某种方法同时接收数百.数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作.有许多解决方 案,但是 libevent 库和 libev 库能够大大 ...

  2. 每天一个linux命令【转】

    转自:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

  3. jvm系列二、JVM内存结构

    原文链接:http://www.cnblogs.com/ityouknow/p/5610232.html 所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemory ...

  4. Python中的一些小语法

    目录: 生成随机数 将一个字符串变为datetime类型,并且获取星期几 1.生成随机数 假设我们要操作的list如下: >>> import random >>> ...

  5. OneNET麒麟座应用开发之七:控制采样电机

    气体采样采用主动抽取气体的方式保证充足而平稳的气流,所以我们采用气泵抽取气体来完成. 1.设计概述 客户对这部分要求能够设定电机的速度,但并不需要动态调节.对电机的控制有很多方式,我们采用比较简单的方 ...

  6. Application.ProcessMessages; 的重要性

    https://files.cnblogs.com/files/del88/登陆光标_悬赏50元.zip ----------------------------------------------- ...

  7. 树链剖分边权模板spoj375

    树链剖分是树分解成多条链来解决树上两点之间的路径上的问题 如何求出树链:第一次dfs求出树上每个结点的大小和深度和最大的儿子,第二次dfs就能将最大的儿子串起来并hash(映射)到线段树上(或者其他数 ...

  8. Myeclipse调试模式下自动提示变量值设置

    1.Window->Preferences->Java->Editor->Hovers 将[Variable Values]选择即可,如果第一个[Combined Hover] ...

  9. 简易图书管理系统(主要是jsp的练习)

    1:首先设计用户表和图书表,设计的字段和类型如下图所示 1.1:用户表user 1.2:图书表book 2:第二写实体类user.java和book.java package com.bie.po; ...

  10. java.lang.NumberFormatException: multiple points问题

    一般这种问题主要是因为SimpleDateFormat在多线程环境下,是线程不安全的,所以如果你在多线程环境中共享了SimpleDateFormat的实例,比如你在类似日期类中定义了一个全局的Simp ...