Redis缓存技术(笔记内容五)

Redis缓存技术(课时一windows)

第一部分回顾java基础集合(基础不牢一切白学,地基不牢在高级的框架已也不会)

Java基础 集合的分类:

 

@1ArrayList的讲解

package arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 1.创建一个集合
		ArrayList list  = new ArrayList();
		//2.给集合添加元素
		//创建学生对象
		Student stu1 = new Student("狐疑",18);
		Student stu2 = new Student("糊涂",19);
		Student stu3 = new Student("呼啸",20);
		Student stu4 = new Student("环宇",21);
		
		list.add(stu1);
		list.add(stu2);
		list.add(stu3);
		list.add(stu4);
		list.hashCode();
		//3.删除集合中的指定元素 boolean remove(int index)
		list.remove(0);
		//4.获取集合中指定索引的元素 Object get(int index)
		System.out.println(list.get(0));
		//5.修改集合中指定元素的值 
		//public E  set(int index,E element)修改指定索引处的元素,返回被修改的元素
		list.set(2, new Student("maomao",21));
		//返回集合中元素的个数 int size()
		int count = list.size();
		System.out.println("集合中的元素个数为:"+count);
		
		
		System.out.println("何为编程?");
		//遍历元素
		
		System.out.println("遍历元素第一种方式·");
		
		for (int i = 0; i < args.length; i++) {
			String string = args[i];
			System.out.println(i);
		}
		
		System.out.println(list);
		System.out.println("遍历第二种方式");
		
		for (Iterator iterator = list.iterator(); iterator.hasNext();) {
			Object object = (Object) iterator.next();
			System.out.println(list);
			System.out.println(list.size());
			
		}
		System.out.println("第三种方式");
		for (Object object : list) {
			System.out.println(list);
			
		}
			
		}
	}


Redis缓存技术(笔记内容五)_第1张图片

 

package arraylist;
/**
 *创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历集合的所有元素
 *1.创建一个集合
 *2.往集合中添加3个字符串
 *3.遍历集合:首先要能获取到集合中的每一个元素,这个通过get(int index)方法去实现
 *4.遍历集合:其次要能够获取到集合中的长度,这个通过size()方法去实现
 *
 * @author Administrator
 *
 */
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//1.创建一个集合
		ArrayList list = new ArrayList();
		//2.往集合中添加3个字符串
		list.add("诸葛亮");
		list.add("刘备");
		list.add("张飞");
		list.add("李四");
		list.add("我是list集合");
		//3-4遍历集合
		
		for(int i=0;i

Redis缓存技术(笔记内容五)_第2张图片

 

package arraylist;

public class Student {
	private String name;
	private int age;
	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "Student[age="+age+",name="+name+"]";
	}
	@Override
	public int hashCode() {
		// TODO Auto-generated method stub
		return super.hashCode();
	}
	
	
}

@2LinkedList的讲解

package LinkedList;

import java.util.LinkedList;
import java.util.List;

public class LinkedListTest{  
	  

	public static  void main(String[] args) {  
	    LinkedList lList = new LinkedList();  
	    lList.add("stu");  
	    lList.add("stu1");  
	    lList.add("stu2");  
	    lList.add("stu3");  
	    lList.add("stu4");  
	    lList.add("stu5");  
	    lList.add("stu6");  
	    lList.add("stu7");  
	    lList.add("stu8");  
	    lList.add("stu9"); 
	   
	  
	    System.out.println("链表的第一个元素是 : " + lList.getFirst());  
	    System.out.println("链表最后一个元素是 : " + lList.getLast());  
	  
	    
	    for (String str: lList) {  
	        System.out.println(str);  
	      }  
	  
	    
		  
	    List subl = lList.subList(1, 6);  
	    System.out.println(subl);  
	    lList.remove(2);  
	    System.out.println(lList);  
	    System.out.println(lList); 
	  }  
	}  


Redis缓存技术(笔记内容五)_第3张图片

 

@3Hashset的讲解

package com.set;

public class Student {
	private String name;
	private int age;
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the age
	 */
	public int getAge() {
		return age;
	}
	/**
	 * @param age the age to set
	 */
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + age;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Student other = (Student) obj;
		if (age != other.age)
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}

	//@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + "]";
	}

}
package com.set;
/**
 * - Hash Set 集合保证元素唯一性的原理

  1.根据对象的哈希值计算存储位置 

  如果当前位置没有元素则直接存入

  如果当前位置有元素存在,则进入第二步

  2.当前元素的元素和已经存在的元素比较哈希值

  如果哈希值不同,则将当前元素进行存储

  如果哈希值相同,则进入第三步

  3.通过equals()方法比较两个元素的内容

  如果内容不相同,则将当前元素进行存储

  如果内容相同,则不存储当前元素

- 
 * @author MZFAITHDREAM
 *
 */
public class HashsetText1 {
/**
 * 哈希值根据地址,字符串,数字类型。
 * @param args
 */
	public static void main(String[] args) {
		//创建学生对象
		Student stu =new Student("xangxang",34);
		System.out.println(stu);
		System.out.println(stu.hashCode());
		System.out.println("===============================");
		
		Student stu1 =new Student("tyuop",34);
		System.out.println(stu1);
		System.out.println(stu1.hashCode());
		System.out.println("================================");
		//查看哈希值二个对象
		
		Student stu2 =new Student("maomao",37);
		System.out.println(stu2);
		System.out.println(stu2.hashCode());
		//查看哈希值三个对象
		Student stu3 =new Student("nopains nogains",34);
		System.out.println(stu3);
		System.out.println(stu3.hashCode());
		//查看哈希值四个对象
		Student stu4 =new Student("nopains nogains",34);
		System.out.println(stu4);
		System.out.println(stu4.hashCode());
		System.out.println("================================");
		//查看哈希值五个对象
		Student stu5 =new Student("nopains nogains",34);
		System.out.println(stu5);
		System.out.println(stu5.hashCode());
		//查看哈希值六个对象
		Student stu6 =new Student("nopains nogains",34);
		System.out.println(stu6);
		System.out.println(stu6.hashCode());
		System.out.println(stu6.hashCode());
	
	}

}
package com.set;
/**
 * - Hash Set 集合保证元素唯一性的原理

  1.根据对象的哈希值计算存储位置 

  如果当前位置没有元素则直接存入

  如果当前位置有元素存在,则进入第二步

  2.当前元素的元素和已经存在的元素比较哈希值

  如果哈希值不同,则将当前元素进行存储

  如果哈希值相同,则进入第三步

  3.通过equals()方法比较两个元素的内容

  如果内容不相同,则将当前元素进行存储

  如果内容相同,则不存储当前元素

- 
 * @author MZFAITHDREAM
 *
 */
public class HashsetText2 {
/**
 * 哈希值根据地址,字符串,数字类型。
 * @param args
 */
	public static void main(String[] args) {
		//创建学生对象
		Student stu =new Student("小小程序员",34);
		System.out.println(stu);
		System.out.println(stu.hashCode());
		System.out.println("===============================");
		
		Student stu1 =new Student("com on",34);
		System.out.println(stu1);
		System.out.println(stu1.hashCode());
		System.out.println("================================");
		//查看哈希值二个对象
		
		Student stu2 =new Student("毛毛非",37);
		System.out.println(stu2);
		System.out.println(stu2.hashCode());
		//查看哈希值三个对象
		Student stu3 =new Student("星星胡i11nogains",34);
		System.out.println(stu3);
		System.out.println(stu3.hashCode());
		//查看哈希值四个对象
		Student stu4 =new Student("nopains nogains",34);
		System.out.println(stu4);
		System.out.println(stu4.hashCode());
		System.out.println("================================");
		//查看哈希值五个对象
		Student stu5 =new Student("nopains nogains",34);
		System.out.println(stu5);
		System.out.println(stu5.hashCode());
		//查看哈希值六个对象
		Student stu6 =new Student("nopains nogains",34);
		System.out.println(stu6);
		System.out.println(stu6.hashCode());
		System.out.println(stu6.hashCode());
	
	}

}
package com.set;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class HashSetTest2 {
	public static void main(String[] args) {
		Set s=new HashSet();
		s.add("avvvv");
		s.add("abvvvvv");
		s.add("abcvvvvvv");
		s.add("abcd");
		
		
		//增强for循化
		for (String string : s) {
			System.out.println(string);
		}
		System.out.println("************1111*****元素******************遍历*********");
		for (String string : s) {
			System.out.println(s);
		}
		System.out.println("=========222===集合=======遍历*===============");
		迭代器:集合特有的遍历方式
		System.out.println(s);
		for (Iterator iterator = s.iterator(); iterator.hasNext();) {
			String string = (String) iterator.next();
			System.out.println(string);
			
		}
		System.out.println("=======3333==========*集合遍历*=========");
		System.out.println(s);
		for (Iterator iterator = s.iterator(); iterator.hasNext();) {
			String string = (String) iterator.next();
			System.out.println(s);
			
		}
		
		
		System.out.println("********4444*******元素*****************遍历*****************");
		
	
		System.out.println("------------------------");
		for (int i = 0; i 

Redis缓存技术(笔记内容五)_第4张图片

 Redis缓存技术(笔记内容五)_第5张图片

 

@4Set的讲解

package com.set;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Set2 {

	public static void main(String[] args) {
		Set s=new HashSet();
		s.add("今天天青");
		s.add("行万里路");
		s.add("加强学习java");
		s.add("自强不息");
		s.add("好好学习");
		for (int i = 0; i 

 

@5HashMap的讲解

package Map;

import java.util.HashMap;
import java.util.Iterator;

/**
 * map 为接口
 * @author MZFAITHDREAM
 *
 */
public class HashMapDemo1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap map =new HashMap();
		//增加元素put(k key,v value)键值对 将指定的值增加map表中
		map.put("name", "机熊机");
		map.put("sex", "nan");
		map.put("id", "2345689");
		map.put("height", "145");
	
		map.put("name", "即可不一");
		//修改元素
		map.put("name", "tee");
		//删除元素 map.remove(object key):根据主键值对应元素
		map.remove("id");
		
		//打印map
		System.out.println(map);
		/*
		 * int size() 集合的长度
		 */
		int size=map.size();
		System.out.println(size);
		
		//
		map.clear();
		System.out.println(map);
		/*
		 * 判断是否为空
		 */
		System.out.println(map.isEmpty());
		System.out.println(map);
		

	}

}
package Map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;


public class HashMapDemo2 {

	private static Object key;

	public static void main(String[] args) {
		HashMap map =new HashMap();
		map.put("name", "机熊");
		map.put("sex", "nan");
		map.put("id", "2345689");
		map.put("height", "145cm");
		map.put("weight", "78kg");
		map.put("QQ", "6789875643");
		map.put("手机号", "15678964578");
		map.put("微信", "ASD23478965");
		map.put("name", "即可不要");
		//修改元素
		map.put("weight", "100kg");
		// 1根据可以获取value值
		String value  =map.get("name");
		System.out.println(value);
		// 2获取map表中所有的key,set keySet()
		Set set =map.keySet();
		// 3打印map表中有key
		/*
		for (String key : set) {
			System.out.println(map);
			System.out.println(key+":"+map.get(key));
		}
		*/
	    // 4获取map表中第一种
		System.out.println("=================================================");
		Collection Values =map.values();
		for (String v : Values) {
			System.out.println(v);
		}
		
		
		
	}

}
package Map;

import java.util.*;

public class HashMapDemo3 {

	public static void main(String[] args) {
		HashMap map =new HashMap();
		map.put("name", "机熊");
		map.put("sex", "nan");
		map.put("id", "2345689");
		map.put("height", "145");
		map.put("age", "1003");
		/**
		 * 方式一
		 */
		Set set =map.keySet();
		//打印map表中有key
		for (String key : set) {
			System.out.println(map);
			System.out.println(key+":"+map.get(key));
		}
	}
}
		
		//遍历方式二
		
		/**
		 * 1:将map表中的数据放到一个集合当中
		 * Set > entrySet:获取所有集合键值对对象集合
		 */
		
	//}
	
	//Set> enterySet = map.entrySet();
		/*
	for(Map.Entry en:entrySet) {
		System.out.println(en);
		System.out.println(en.getKey());
		System.out.println(en.getValue());
	}
	
}
package Map;

import java.util.*;

public class HashMapDemo4 {

	private static final String HashMap = null;

	public static void main(String[] args) {
		HashMap hmap =new HashMap();
		hmap.put("name", "机熊");
		hmap.put("sex", "nan");
		hmap.put("id", "2345689");
		hmap.put("height", "145");
		hmap.put("age", "1003");
		//第一种方法keyset
		for(String key:hmap.keySet()) {
			System.out.println(key+"-----"+hmap.get(key));
			
		}
		System.out.println("=====================================");
		
		//第二种方法
		for(Map.Entry entry:hmap.entrySet()) {
			System.out.println(entry);
			
		}
		
		System.out.println("========/*/**/");
		for(String key :hmap.keySet()) {
			System.out.println("key===="+key);
		}
		System.out.println("///");
		
		for(String value :hmap.values()) {
			System.out.println("value===="+value);
		}
		
		System.out.println("333333333333333");
		
		//keyset
		Iterator iterator=hmap.keySet().iterator();
		while(iterator.hasNext()) {
			String key=iterator.next();
			System.out.println(key+"    :    "+hmap.get(key));
		}
		
		//entryset
		Iterator> iterator1=hmap.entrySet().iterator();
		while(iterator.hasNext()) {
			Map.Entryentry= iterator1.next();
			System.out.println(entry.getKey());
			
		}
	}
}
		
		
	
		


第二部分Redis缓存技术 概念

 

  • redis技术是一门数据库。

  • redis缓存技术是非关系型数据库,属于NoSQL

  • not  only  SQL:不仅仅是sql

  • redis技术是C语言

  • redis技术运行在cpu内存中

  • cpu---缓存------硬盘

  • MySQL数据库属于关系型数据库 (sun公司收购了)(小型公司)

  • Server SQL(微软)(中小型公司,收费)

  • Oracle(Oracle)(大型公司,收费)(java,mysql)

  • kotiln

  • DB2(IBM)

  • 关系型数据库:实体与实体之间存在某种关系

  • 一对一:班级表,班主任表

  • 一对多:学生表,班级表

  • 多对多:学生表,课程表-------结果表: 成绩表

  • 用户表  商品表          订单表

  • 张三同学的jsp课程考试分数为59

  • 为什么要使用redis缓存?

  • 因为在企业中用户访问数据库的人数是相当庞大的,

  • 在大量用户同时访问数据库的时候,会加大服务器的开销

  • 影响软件的反应速度,使用redis技术,可以加快查询数据的速度,减少流量,减少性能的开销

  • 怎么用redis技术?   一般在springboot

  • winsows平台,linux平台

 

redis技术常用的数据类型:
1.String 
2.hash
3.list
4.set
5.sortedset

 

String类型:
添加数据的指令:set  名称   值
查询数据的指令:get  名称
删除数据的指令:del  名称...

当关闭redis服务器时,redis数据库中的数据将会被清空

当给redis数据库中添加的数据的名称与已存在的数据的名称一致时,
会将后面添加的数据替换旧数据

第一类:

hash类型:
添加数据的指令:hset  名称   子名称   值
查询数据的指令:hget  名称  子名称
查询所有数据的指令:hgetall  名称
删除数据的指令:hdel  名称   子名称...

第二类:

list类型: 可以添加重复的数据
添加数据的指令:
1.从左边添加数据:lpush  名称  值...
2.从右边添加数据:rpush 名称 值...
查询数据的指令:lrange 名称   开始的下标   结束的下标(-1表示到最后一个元素结束)
删除数据的指令:
1.从左边删除数据,并把删除的数据查询出来:lpop 名称
2.从右边删除数据,并把删除的数据查询出来:rpop 名称

第三类:

set类型:不允许添加重复的数据
添加数据的指令:sadd 名称  值...
查询所有数据的指令:smembers 名称
删除数据的指令:srem 名称  值...

第四类:

sortedset类型:不允许添加重复的数据,而且添加的数据需要进行排序
添加数据的指令:zadd 名称 分数  值...
查询所有数据的指令:zrange 名称  开始的下标  结束的下标   [withscores]表示查询数据的时候将数据对应的分数也查询出来
删除数据的指令:zrem 名称  值...

第五类:

通用命令:
keys  名称或者*:查询redis数据库中是否存在哪些数据类型的名称

type 名称:查询当前存储的数据是属于哪一种数据类型

del 名称:删除任何一种数据类型的所有数据

内容简单不一一说明。

Redis缓存技术(笔记内容五)_第6张图片

实操内容

打开redis-server会出现这个页面

Redis缓存技术(笔记内容五)_第7张图片

 Redis缓存技术(笔记内容五)_第8张图片

redis-cli打开这个命令进行代码编译。

String 类型
127.0.0.1:6379> setage 20
(error) ERR unknown command 'setage'
127.0.0.1:6379> set age 20
OK
127.0.0.1:6379> get age
"20"
127.0.0.1:6379>
Redis的数据类型(五种)《增删改查>>>>>>>>>>>>>>>>>>>>命令行操作
1 Redis的数据类型一:
127.0.0.1:6379> set age 23
OK
127.0.0.1:6379> get age
"23"
=============增加数据类型指令=============================
127.0.0.1:6379> set name zgangsan
OK
----------------获取数据类型--------------------------------
127.0.0.1:6379> get name
"zgangsan"
127.0.0.1:6379>
==============删除数据指令:del 名称......=============================
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil)
当关闭redis服务器时,redis数据库中的数据清空。
当redis增加数据的名称与存在的数据名称一致是,会将后面增加的数据修改前面的数据。
127.0.0.1:6379> set name lisi
OK
127.0.0.1:6379> set name wangwu
OK
127.0.0.1:6379> get name
"wangwu"
------------------练习题---------库一-------------------------127.0.0.1:6379-----------------------------------------
127.0.0.1:6379> set bookname wodeshijie
OK
127.0.0.1:6379> get bookname
"wodeshijie"
127.0.0.1:6379> set booknum 45
OK
127.0.0.1:6379> get booknum
"45"
127.0.0.1:6379> getbook prick
(error) ERR unknown command 'getbook'
127.0.0.1:6379> set bookprick 34$
OK
127.0.0.1:6379> get bookprick
"34$"
127.0.0.1:6379> set bbookautor wangxuaiok
OK
127.0.0.1:6379> get bbookautor
"wangxuaiok"
127.0.0.1:6379> del bookname
(integer) 1
127.0.0.1:6379> set booknum 123
OK
127.0.0.1:6379> get booknum
"123"
127.0.0.1:6379>
------------------------------
2 Redis的数据类型一:
 Hash-----------hash设置值------------
127.0.0.1:6379> hset student name wangxiaoer
(integer) 1
127.0.0.1:6379> hset student age 34
(integer) 1
127.0.0.1:6379> hset student sex nana
(integer) 1
127.0.0.1:6379> hset student like wangzhe
(integer) 1
127.0.0.1:6379> hset student phone 1234567
(integer) 1
127.0.0.1:6379> hset student address chian
(integer) 1
-----------------------------hash查询名称---------------------------------
(integer) 1
127.0.0.1:6379> hget studnet name
(nil)
127.0.0.1:6379> hget student name
--------------hash------获得所有数据--------------------------------------------------------
127.0.0.1:6379> hgetall student
 1) "name"
 2) "wangxiaoer"
 3) "age"
 4) "34"
 5) "sex"
 6) "nana"
 7) "like"
 8) "wangzhe"
 9) "phone"
10) "1234567"
11) "address"
12) "chian"
---------------------hash数据的删除------------------------hdel---------------------------------------------------------
127.0.0.1:6379> hsel student sex age
(error) ERR unknown command 'hsel'
-------------------hdel student 名称
127.0.0.1:6379> hdel student sex age
(integer) 2
127.0.0.1:6379> hgetall student
1) "name"
2) "wangxiaoer"
3) "like"
4) "wangzhe"
5) "phone"
6) "1234567"
7) "address"
8) "chian"
----------------------------------------------------------------------------------------------------------------------
2 Redis的数据类型三:
 list的集合
-------------------------------list增加数据类型------------------从left or right------------
127.0.0.1:6379> lpush mylist 123  abc xiaoming huji
(integer) 4
127.0.0.1:6379> rpush mylist A V D G H J T
(integer) 11
--------------lrange mylist 0 -1------------------------list查询数据------------- -1是最后一个in the end----------------
127.0.0.1:6379> lrange mylist 0 -1
 1) "huji"
 2) "xiaoming"
 3) "abc"
 4) "123"
 5) "A"
 6) "V"
 7) "D"
 8) "G"
 9) "H"
10) "J"
11) "T"
127.0.0.1:6379> lpush mylist A B C D E F RT TY
(integer) 19
127.0.0.1:6379> lrange mylist 0 -1
 1) "TY"
 2) "RT"
 3) "F"
 4) "E"
 5) "D"
 6) "C"
 7) "B"
 8) "A"
 9) "huji"
10) "xiaoming"
11) "abc"
12) "123"
--------------------------------------数据可以重复
13) "A"
14) "V"
15) "D"
16) "G"
17) "H"
18) "J"
19) "T"
---------------------------------删除的指令----------lpop-----or-------- rpop -------------
127.0.0.1:6379> lpop mylist
"TY"
127.0.0.1:6379> lop mylist
(error) ERR unknown command 'lop'
127.0.0.1:6379> lop mylist
(error) ERR unknown command 'lop'
127.0.0.1:6379> lpop mylist
"RT"
127.0.0.1:6379> rpop mylist
"T"
127.0.0.1:6379> rpor mylist
(error) ERR unknown command 'rpor'
127.0.0.1:6379> rpop mylist
"J"
127.0.0.1:6379> lrange mylist 0 -1
 1) "F"
 2) "E"
 3) "D"
 4) "C"
 5) "B"
 6) "A"
 7) "huji"
 8) "xiaoming"
 9) "abc"
10) "123"
11) "A"
12) "V"
13) "D"
14) "G"
15) "H"
总结:
String set get del   
Hash hset hget hdel  hgetall student
List   lpush mylist    Rpush mylist     lrange mylist 0 -1
Set  sadd  semembers 
4 Redis的数据类型四: 
Set集合(数据不能重复)
---------Set-------------增加数据的内容-----------sadd myset-------
127.0.0.1:6379> sadd myset 1 2 3 4 5 6 7
(integer) 7
127.0.0.1:6379> sadd 1 2 4
(integer) 2
127.0.0.1:6379> sadd myset 1 3 4 7
(integer) 0
-------------Set---------查询数据的指令-----------smembers myset-------------
127.0.0.1:6379> smembers myset
127.0.0.1:6379> srem myset2
(error) ERR wrong number of arguments for 'srem' command
127.0.0.1:6379>  srem myser 2 3
(integer) 0
---------------Set-----------删除数据指令--------------------------------
127.0.0.1:6379> srem myset 2 3 4
(integer) 3
127.0.0.1:6379> smbembers
(error) ERR unknown command 'smbembers'
127.0.0.1:6379> smbembers myset
(error) ERR unknown command 'smbembers'
127.0.0.1:6379> smembers myset
1) "1"
2) "5"
3) "6"
4) "7"
5 Redis的数据类型五: 
-----------Sortedset-------增加数据指令----zadd 78 lisi 56 kl 90 hu--  zadd 名称 分数---------
127.0.0.1:6379> zadd mysoet 10 liwu 34 ou 67 ji 34 hj 98
(error) ERR syntax error
127.0.0.1:6379> zadd 78 lisi 56 kl 90 hu
(error) ERR syntax error
127.0.0.1:6379> zadd mysort 20 list 30 wanwu
(integer) 2
-------------Sortedset--------查询-----------------------------
127.0.0.1:6379> zrange mysort 0 -1
1) "list"
2) "wanwu"
--------Sortedset--------查询数据将分数查询出来----------------
127.0.0.1:6379> zrange mysort 0 -1 withscores
1) "list"
2) "20"
3) "wanwu"
4) "30"
-----------------Sortedset------删除数据内容--------------------------------------------------------
127.0.0.1:6379> zrem mysort wanwu
(integer) 1
127.0.0.1:6379> zrange mysort 0 -1 withscores
1) "list"
2) "20"
数据通用的命令符.
通用命令符一查询所有数据.
通用命令符二查询数据的类型
通用命令符三删除数据
------通用命令符一---------查询所有数据-----------------
127.0.0.1:6379> keys *
 1) "bookprick"
 2) "name"
 3) "student"
 4) "sex"
 5) "mysort"
 6) "mylist"
 7) "myset"
 8) "booknum"
 9) "1"
10) "bbookautor"
127.0.0.1:6379> keys student
1) "student"
--------------------通用命令符二----------------------------查询数据的类型-----------------------------------------------------------------
127.0.0.1:6379> type name
string
127.0.0.1:6379>  type sex
string
127.0.0.1:6379>  type syudent
none
127.0.0.1:6379>  type student
hash
127.0.0.1:6379> type mysort
zset
------------------通用命令符三-----------------删除数据---------------------------------------------------------------------------------------------
127.0.0.1:6379>  del student
(integer) 1
127.0.0.1:6379> hgetall student
(empty list or set)

​​​​​​Redies总结的内容总结

第一类:

hash类型:
添加数据的指令:hset  名称   子名称   值
查询数据的指令:hget  名称  子名称
查询所有数据的指令:hgetall  名称
删除数据的指令:hdel  名称   子名称...

第二类:

list类型: 可以添加重复的数据
添加数据的指令:
1.从左边添加数据:lpush  名称  值...
2.从右边添加数据:rpush 名称 值...
查询数据的指令:lrange 名称   开始的下标   结束的下标(-1表示到最后一个元素结束)
删除数据的指令:
1.从左边删除数据,并把删除的数据查询出来:lpop 名称
2.从右边删除数据,并把删除的数据查询出来:rpop 名称

第三类:

set类型:不允许添加重复的数据
添加数据的指令:sadd 名称  值...
查询所有数据的指令:smembers 名称
删除数据的指令:srem 名称  值...

第四类:

sortedset类型:不允许添加重复的数据,而且添加的数据需要进行排序
添加数据的指令:zadd 名称 分数  值...
查询所有数据的指令:zrange 名称  开始的下标  结束的下标   [withscores]表示查询数据的时候将数据对应的分数也查询出来
删除数据的指令:zrem 名称  值...

第五类:

通用命令:
keys  名称或者*:查询redis数据库中是否存在哪些数据类型的名称

type 名称:查询当前存储的数据是属于哪一种数据类型

del 名称:删除任何一种数据类型的所有数据

Redis缓存技术(笔记内容五)_第9张图片

标题

 

 

你可能感兴趣的:(SSMS,缓存AJAX+JSON,笔记回忆录,redis,缓存,数据库)