Redisの二八法則

19474 ワード

一般的なコマンド:
1、setex key有効時間value--------このキー値ペアの生存時間を追加して設定することを意味する
2、mset key1 value1 key2 value2 key3 value3 ....... -----------------複数のキー値ペアを一度に追加するという意味です
3、getset oldKey newValue----------既存のkeyの値を再設定し、上書きされた古い値を返すことを意味します
4、getrange key startIndex endIndex--------そのkeyに対応する値を取得する指定されたサブストリング(開始インデックスは0から)
5、mget key1 key2...... -------------一度に複数の見解に対応する値を取得するという意味です
6、append key newStr--------既存の文字列に新しいサブ文字列を追加することを意味する
7、strlen key------指定文字列の長さを計算する
8、expire key 10------そのkeyの文字列の有効期限を設定し、10秒後に自動的に削除(有効期限切れ)することを意味します
9、ttl key------このkeyの有効時間を確認する
10、ping--------現在の接続が正常かどうかをテストする
11、dbsize---------現在のデータベースのkeyの合計数を返します
12、info------現在接続されているサーバー情報と統計を表示する
13、flushdb---------現在選択されているデータベースのすべてのデータを空にする
14、flushall------すべてのデータベースのデータを空にします.
 
 
次にredisがどのように実際のプロジェクトで応用されているのかを共有します.もし問題があれば、コメントを残してください.ありがとうございます.
キャッシュの応用:ウェブサイトのアクセスデータの特徴の多くは「二八法則」に現れている:80%のビジネスアクセスは20%のデータに集中している.この場合、データの圧力を軽減し、Webサイトのデータアクセス速度を向上させるために、キャッシュメカニズムを使用してWebサイトを最適化することができます.
次に、redisキャッシュのデータにアクセスできるかどうかをテストして、テストコードを書いて、恥をかきました.
  1 package com.itheima.store.service.impl;
  2 
  3 import java.sql.SQLException;
  4 import java.util.List;
  5 
  6 import com.itheima.store.dao.CategoryDao;
  7 import com.itheima.store.dao.impl.CategoryDaoImpl;
  8 import com.itheima.store.domain.Category;
  9 
 10 /**
 11  *     :       。
 12  * */
 13 
 14 import com.itheima.store.service.CategoryService;
 15 import com.itheima.store.utils.BeanFactory;
 16 import com.itheima.store.utils.DBUtil;
 17 import com.itheima.store.utils.JedisUtils;
 18 
 19 import net.sf.json.JSONArray;
 20 import redis.clients.jedis.Jedis;
 21 
 22 @SuppressWarnings("all")
 23 public class CategoryServiceImpl implements CategoryService {
 24 
 25     // @Override
 26     //
 27     public List findAllCategory() throws Exception {
 28         // CategoryDao dao = new CategoryDaoImpl();
 29         CategoryDao dao = (CategoryDao) BeanFactory.getBean("CategoryDao");
 30         return dao.findAllCategory();
 31     }
 32 
 33     @Override
 34     //
 35     /*
 36      *          ,           (redis),              ,         ,          ,  
 37      *           。
 38      */
 39     public String findAllCategoryAjax() throws Exception {
 40         //   jedis  
 41         Jedis jedis = null;
 42         try {
 43             //   jedis  
 44             jedis = JedisUtils.getJedis();
 45             //                 
 46             String categoryList = jedis.get("category_list");
 47             if (categoryList == null) {
 48                 //
 49                 System.out.println("---------       -----------");
 50                 // CategoryDao dao = new CategoryDaoImpl();
 51                 CategoryDao dao = (CategoryDao) BeanFactory.getBean("CategoryDao");
 52                 List list = dao.findAllCategory();
 53                 //  list  JSON     
 54                 JSONArray json = JSONArray.fromObject(list);
 55                 //  JSON       ,             
 56                 jedis.set("category_list", json.toString());
 57                 return jedis.get("category_list");
 58             } else {
 59                 //
 60                 System.out.println("--------------      -----------------");
 61                 return categoryList;
 62             }
 63         } catch (Exception e) {
 64             e.printStackTrace();
 65         } finally {
 66             JedisUtils.closeJedis(jedis);
 67         }
 68         return null;
 69     }
 70 
 71     @Override
 72     //
 73     public void addCategory(Category category) throws Exception {
 74         CategoryDao dao = (CategoryDao) BeanFactory.getBean("CategoryDao");
 75         dao.addCategory(category);
 76         //   :    category  ,             ,            ,                     
 77         //
 78         Jedis jedis = null;
 79         try {
 80             jedis = JedisUtils.getJedis();
 81             //          key
 82             jedis.del("category_list");
 83         } catch (Exception e) {
 84             e.printStackTrace();
 85         } finally {
 86             JedisUtils.closeJedis(jedis);
 87         }
 88     }
 89 
 90     @Override
 91     //   cid      :
 92     public Category findByCid(String cid) throws Exception {
 93         CategoryDao dao = (CategoryDao) BeanFactory.getBean("CategoryDao");
 94         Category category = dao.findByCid(cid);
 95         return category;
 96     }
 97 
 98     @Override
 99     //
100     public void editCategory(Category category) throws Exception {
101         CategoryDao dao = (CategoryDao) BeanFactory.getBean("CategoryDao");
102         dao.editCategory(category);
103         //
104         Jedis jedis = null;
105         try {
106             jedis = JedisUtils.getJedis();
107             //          key
108             jedis.del("category_list");
109         } catch (Exception e) {
110             e.printStackTrace();
111         } finally {
112             JedisUtils.closeJedis(jedis);
113         }
114     }
115 
116     @Override
117     //
118     /**
119      *   :                  ,           ,
120      *                                            ,      。
121      * */
122     public void deleteCategory(String cid) throws Exception {
123         Jedis jedis = null;
124         try {
125             //
126             DBUtil.startTransaction();
127             CategoryDao dao = (CategoryDao) BeanFactory.getBean("CategoryDao");
128             //      cid          null:
129             dao.updateByCid(cid);
130             dao.deleteCategory(cid);
131             //
132             DBUtil.commit();
133             //
134             jedis = JedisUtils.getJedis();
135             //          key
136             jedis.del("category_list");
137         } catch (Exception e) {
138             //
139             DBUtil.rollBack();
140             e.printStackTrace();
141         } finally {
142             JedisUtils.closeJedis(jedis);
143         }
144     }
145 
146 }

 
転載先:https://www.cnblogs.com/1315925303zxz/p/6415890.html