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. Python爬虫-爬取百度贴吧帖子

    这次主要学习了替换各种标签,规范格式的方法.依然参考博主崔庆才的博客. 1.获取url 某一帖子:https://tieba.baidu.com/p/3138733512?see_lz=1&p ...

  2. Node.jsでMySQLを使うメモ

    インストール npm install mysql コネクション var mysql = require('mysql'); var connection = mysql.createConnectio ...

  3. 超图(Hypergraph)

    原文地址:http://blog.csdn.net/qrlhl/article/details/48413117 超图(Hypergraph)是什么 简单的来说,对于我们熟悉的图而言,它的一个边(ed ...

  4. win7设置固定IP

    正文: 你必须知道你的路由器网关,一般是192.168.1.1(或192.168.0.1) 按传统的来:开始——控制面板——网络和共享中心——更改适配器设置.一般来讲,这里应该有两个图标,一个是有线网 ...

  5. Maven介绍及安装与配置

    一.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差 ...

  6. pyspark遇到报错:_PYSPARK_DRIVER_CONN_INFO_PATH

    1.  环境 : centos,启动pyspark,执行如下python命令: import pyspark from pyspark import SparkContext from pyspark ...

  7. VIM 报错

    syntax error: unexpected end of file if 没配对 在最后加 fi 试试 环境变量用不了 export PATH=/usr/bin:/usr/sbin:/bin:/ ...

  8. hdu4942线段树模拟rotate操作+中序遍历 回头再做

    很有意思的题目,详细题解看这里 https://blog.csdn.net/qian99/article/details/38536559 自己的代码不知道哪里出了点问题 /* rotate操作不会改 ...

  9. 打开MSSQL 2008 R2的时候,展开数据库都显示以下的错误提示: 值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)

    打开MSSQL 2008 R2的时候,展开数据库都显示以下的错误提示: 值不能为空.参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explo ...

  10. ctsc2018

    day1: 8:20分还不知道考场在哪给ccf差评 8:30开始看题 第一题感觉是个模拟啊 很烦 瞄了一眼第二题第三题题意挺简单的啊感觉还不错 然后开始仔细看t1 然后我发现好像可以退狮子 应该是个数 ...