Redis Quick Start (2): cinq structures de données courantes de redis

1. Structure de données Redis

Redis stocke les données au format clé et valeur, où les clés sont toutes des chaînes et la valeur a 5 structures de données différentes:

  1. Chaîne de type chaîne
  2. Hash de type de hachage: format de carte
  3. Liste des types de liste: format de liste liée. Prise en charge des éléments répétés
  4. Ensemble de types de collection: les éléments en double ne sont pas autorisés
  5. Sorted set type sortedset: les éléments répétitifs ne sont pas autorisés et les éléments sont dans l'ordre

2. Chaîne de type chaîne

2.1 Ligne de commande
  1. Stockage: définir la valeur de la clé
127.0.0.1:6379> set username zhangsan
结果:OK
  1. Obtenir: obtenir la clé
127.0.0.1:6379> get username
结果:"zhangsan"
  1. Supprimer: touche del
127.0.0.1:6379> del age
结果:(integer) 1
2.2 Code
	 //1. 获取连接
	        Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
	        //2. 操作
	        //存储
	        jedis.set("username","zhangsan");
	        //获取
	        String username = jedis.get("username");
	        System.out.println(username);
	
	        //可以使用setex()方法存储可以指定过期时间的 key value
	        jedis.setex("activecode",20,"hehe");//将activecode:hehe键值对存入redis,并且20秒后自动删除该键值对
	
	        //3. 关闭连接
	        jedis.close();

3. Hash de type de hachage

3.1 Ligne de commande
  1. Stockage: valeur du champ clé hset
127.0.0.1:6379> hset myhash username lisi
结果:(integer) 1
  1. Obtenir:
1)hget key field: 获取指定的field对应的值
127.0.0.1:6379> hget myhash username
结果:"lisi"

2)hgetall key:获取所有的field和value
127.0.0.1:6379> hgetall myhash
结果:
				1) "username"
				2) "lisi"
				3) "password"
				4) "123"

3) Supprimer: champ clé hdel

127.0.0.1:6379> hdel myhash username
结果:(integer) 1
3.2 Code
//1. 获取连接
	        Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
	        //2. 操作
	        // 存储hash
	        jedis.hset("user","name","lisi");
	        jedis.hset("user","age","23");
	        jedis.hset("user","gender","female");
	
	        // 获取hash
	        String name = jedis.hget("user", "name");
	        System.out.println(name);

			// 获取hash的所有map中的数据
			Map<String, String> user = jedis.hgetAll("user");
 			 // keyset
	        Set<String> keySet = user.keySet();
	        for (String key : keySet) {
    
    
	            //获取value
	            String value = user.get(key);
	            System.out.println(key + ":" + value);
	        }
	
	        //3. 关闭连接
	        jedis.close();

4. Liste des types de liste

4.1 Ligne de commande

list: Vous pouvez ajouter un élément à la tête (à gauche) ou à la queue (à droite) de la liste.

1) Ajouter:

1. lpush key value: 将元素加入列表左表
2. rpush key value:将元素加入列表右边

127.0.0.1:6379> lpush myList a
(integer) 1

127.0.0.1:6379> lpush myList b
(integer) 2

127.0.0.1:6379> rpush myList c
(integer) 3

2) Obtenez

* lrange key start end :范围获取
127.0.0.1:6379> lrange myList 0 -1
1) "b"
2) "a"
3) "c"

3) Supprimer:

* lpop key: 删除列表最左边的元素,并将元素返回
* rpop key: 删除列表最右边的元素,并将元素返回
4.2 Code

Liste des types de liste: format de liste liée. Prise en charge des éléments répétitifs
lpush / rpush
lpop / rpop
lrange début fin: acquisition de plage

			
			 //1. 获取连接
	        Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
	        //2. 操作
	        // list 存储
	        jedis.lpush("mylist","a","b","c");//从左边存
	        jedis.rpush("mylist","a","b","c");//从右边存
	
	        // list 范围获取
	        List<String> mylist = jedis.lrange("mylist", 0, -1);
	        System.out.println(mylist);
	        
	        // list 弹出
	        String element1 = jedis.lpop("mylist");//c
	        System.out.println(element1);
	
	        String element2 = jedis.rpop("mylist");//c
	        System.out.println(element2);
	
	        // list 范围获取
	        List<String> mylist2 = jedis.lrange("mylist", 0, -1);
	        System.out.println(mylist2);
	
	        //3. 关闭连接
	        jedis.close();

5. Ensemble de types de collection

5.1 Ligne de commande

Ensemble de types de collection: les éléments répétés ne sont pas autorisés.

1) Stockage: valeur de clé sadd

127.0.0.1:6379> sadd myset a
(integer) 1
127.0.0.1:6379> sadd myset a
(integer) 0

2) Get: smembers key: récupère tous les éléments de la collection d'ensemble

127.0.0.1:6379> smembers myset
1) "a"

3) Supprimer: valeur de clé srem: supprimer un élément de la collection d'ensemble

127.0.0.1:6379> srem myset a
(integer) 1
5.2 Code

Ensemble de types de collection: ne pas autoriser les éléments en double
Sadd:
smembers: obtenir tous les éléments

			//1. 获取连接
	        Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
	        //2. 操作
			// set 存储 
jedis.sadd("myset","java","php","c++");

			// set 获取
	        Set<String> myset = jedis.smembers("myset");
	        System.out.println(myset);
	
	        //3. 关闭连接
	        jedis.close();

6, type d'ensemble trié sortedset (zset)

6.1 Ligne de commande

Sortedset: les éléments en double ne sont pas autorisés et les éléments sont dans l'ordre. Chaque élément sera associé à un score de type double. Redis utilise des scores pour trier les membres de la collection de petite à grande.

1) Stockage: valeur du score clé zadd

127.0.0.1:6379> zadd mysort 60 zhangsan
(integer) 1
127.0.0.1:6379> zadd mysort 50 lisi
(integer) 1
127.0.0.1:6379> zadd mysort 80 wangwu
(integer) 1

2) 获取 : zrange touche début fin [avec scores]

127.0.0.1:6379> zrange mysort 0 -1
1) "lisi"
2) "zhangsan"
3) "wangwu"

127.0.0.1:6379> zrange mysort 0 -1 withscores
1) "zhangsan"
2) "60"
3) "wangwu"
4) "80"
5) "lisi"
6) "500"

3) Supprimer: valeur de clé zrem

127.0.0.1:6379> zrem mysort lisi
(integer) 1
6.2 Code

Sorted set type sortedset: les éléments répétitifs ne sont pas autorisés et les éléments sont ordonnés.
zadd
zrange

			//1. 获取连接
	        Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
	        //2. 操作
	        // sortedset 存储
	        jedis.zadd("mysortedset",3,"亚瑟");
	        jedis.zadd("mysortedset",30,"后裔");
	        jedis.zadd("mysortedset",55,"孙悟空");
	
	        // sortedset 获取
	        Set<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
	
	        System.out.println(mysortedset);

7, ordre général

  1. keys *: interroger toutes les clés
  2. type key: récupère le type de valeur correspondant à la clé
  3. del key: supprime la valeur de clé spécifiée

Chapitre précédent : Démarrage rapide de Redis (1): Configuration de l'environnement Linux
Chapitre suivant: Mise à jour. . .

Je suppose que tu aimes

Origine blog.csdn.net/weixin_46822085/article/details/109330137
conseillé
Classement