Cached-queryキャッシュとクエリー・データベースを迅速に接続する軽量クラス・ライブラリ

1988 ワード

紹介する
memcachedをプロジェクトに追加した後、cacheUtilsやcacheManagerのようなクラスを書いてmemcachedを操作する必要があります.一般的な操作はこのような操作にほかならない.
  • はsqlを手に入れて、まずmemcahedの中に行ってキャッシュがあるかどうかを見て、もしあるならば直接結果
  • に戻ります
  • データベース
  • に直接問い合わせる
  • データを調べたらmemcachedに保存してから上位呼び出し者
  • に戻る.
    この要件は、キャッシュ・オペレーションの大部分を占めています.この3つのことは簡単に書けますが、実はいくつかのコード量があります.cached-queryは軽量級のクラスライブラリで、以上の3つのことをしてあげました.そして、sqlクエリーでリストを出す方法は1つだけです.
    インストール
    pomに依存を追加xml
    <dependency>
      <groupId>org.crazycake</groupId>
      <artifactId>cached-query</artifactId>
      <version>1.0.0-RELEASE</version>
    </dependency>

    使用方法
    プロファイルcached-queryを作成します.propertiesはclasspathとディレクトリの下にあり、src/resourcesの下に置くことができます.
    #cache type. [memcached]
    cache.type=memcached
    cache.host=127.0.0.1
    cache.port=11211
    cache.expire=1800

    クエリーするテーブルに対応するモデルを作成
    public class Student implements Serializable{
    	private Integer studentId;
    	private String studentName;
    	public Integer getStudentId() {
    		return studentId;
    	}
    	public void setStudentId(Integer studentId) {
    		this.studentId = studentId;
    	}
    	public String getStudentName() {
    		return studentName;
    	}
    	public void setStudentName(String studentName) {
    		this.studentName = studentName;
    	}
    	
    }

    あなたのコードでそれを使用します.
    CachedQuery q = CachedQuery.getInstance();
    String sql="select student_id,student_name from student where student_id=?";
    Object[] params = new Object[]{1};
    ArrayList<Student> list = q.queryList(sql, params, conn, Student.class);

    注意事項
  • クエリーしてインスタンス化するクラスは、Serializableインタフェース
  • を実装する必要があります.
  • インスタンス化されたクラス内のプロパティの名前は、データベース内のフィールドがstudent_であるなど、データベース内のフィールドに対応するアルパカ式の名前を付けます.nameに対応するプロパティはstudentName
  • です.
  • クラスの属性は基本タイプを使うことができなくて、intはIntegerを使って、floatはFloatを使って、その他は順次類推して、実はこのように開発者が1つの良い習慣を身につけるのもとても良い
  • です
    最新バージョン参照https://github.com/alexxiyang/cached-query