日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

初识Redis

發布時間:2024/9/20 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初识Redis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.wangzhu.redis;import java.util.List;import org.junit.After; import org.junit.Before; import org.junit.Test;import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;/*** Redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,<br/>* 包括string(字符串)、list(鏈表)、 set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。<br/>* 這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作 ,而且這些操作都是原子性的。<br/>* 在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。<br/>* 區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave。<br/>* 所需jar包:jedis-2.6.2.jar hamcrest-core-1.3.jar junit-4.11.jar<br/>* * @author wangzhu* @date 2015-3-9上午9:10:16* */ public class TestRedis {Jedis jedis;JedisPool pool;@Beforepublic void init() {pool = new JedisPool(new JedisPoolConfig(), "localhost");jedis = pool.getResource();}@Testpublic void testPing() {System.out.println("Servier is runnning: " + jedis.ping());// Servier is runnning: PONG }@Afterpublic void destroy() {jedis.disconnect();}@Testpublic void testString() {// 獲取System.out.println("get===" + jedis.get("strKey"));// 設置System.out.println("set===" + jedis.set("strKey", "qingyezhu"));// 獲取System.out.println("get===" + jedis.get("strKey"));// 刪除System.out.println("del===" + jedis.del("strKey"));// get===null// set===OK// get===qingyezhu// del===1 }@Testpublic void testList() {String listKey = "listKey";// System.out.println("lpush==="// + jedis.lpush(listKey, "Redis", "MongoDb", "MySql", "Oracle",// "Db2")); System.out.println("lpush====" + jedis.lpush(listKey, "other"));long len = jedis.llen(listKey);System.out.println("size===" + len);List<String> list = jedis.lrange(listKey, 0, len);System.out.println("list====" + list);for (int i = 0; i < len; i++) {System.out.println(i + "===lindex===" + jedis.lindex(listKey, i));}System.out.println(jedis.llen(listKey));} } 1、字符串操作 設置key的值 set key value獲取key的值 get key設置過期的毫秒數 pexpire key 10000查看key的生命周期(毫秒) pttl key設置key的生命周期(秒) expire key 1查看key的生命周期(秒) ttl key把指定的key設置為永久有效 perisist key刪除一個key del key返回隨機key randomkey返回key存儲的類型 type key改名 rename key newkey一次設置多個值 mset key1 value key2 value key3 value一次獲取多個值 mget key1 key2 key3把value追加到key的原值上 append key value取指定key的value值得長度 strlen key2、鏈表操作 Redis的list類型其實就是一個每個子元素都是string類型的雙向鏈表,鏈表的最大長度是2^32。list既可以用做棧,也可以用作隊列。 list的pop操作還有阻塞版本,主要是為了避免輪詢。把值插入到鏈表頭部 lpush key value 把值插入到鏈表尾部 rpush key value 返回并刪除鏈表頭部元素 lpop key 返回并刪除鏈表尾部元素 rpop key 返回鏈表中[start,stop]中的元素 lrange key start stop計算鏈表的元素的個數 llen key返回index索引上的值 lindex key index3、hashed類型操作Redis的hash是一個string類型的field和value的映射表,它的添加、刪除操作都是O(1)(平均)。hash特別適用于存儲對象, 將一個對象存儲在hash類型中會占用更少的內存,并且可以方便的存取整個對象。配置: #配置字段最多64個 hash_max_zipmap_entries 64 #配置value最大為512字節 hash_max_zipmap_value 512設置hash1的field為value hset hash1 field value獲取指定的hash field hget hash1 field同時設置多個field hmset hash1 field1 value1 field2 value2 field3 value3一次獲取多個field hmget hash1 field1 field2 field3測試制定的hash field是否存在 hexists hash1 field獲取hash的field數量 hlen hash1返回hash所有的field hkeys hash1返回hash所有的value hvals hash1獲取某個hash中全部的field及value hgetall hash1刪除指定的field hdel hash1 field4、集合結構操作 特點:無序性、確定性、唯一性往集合眾添加元素 sadd key value1 value2 value3獲取集合所有的元素 smembers key刪除集合某個元素 srem key value返回并刪除集合中的一個隨機元素 spop key隨機取一個元素 srandmember key判斷集合中是否有某個值 sismember key value返回集合元素的個數 scard key求key1 key2 key3的交集 sinter key1 key2 key3求key1 key2的并集 sunion key1 key2求key1 key2的差集 sdiff key1 key2求key1 key2的交集并存在res里 sinterstore res key1 key2把source的value移動到dest集合中 smove source dest value6、有序集合 概念:它是在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,每次指定后,zset會自動按新的值調整順序。添加元素 zadd key score1 value1查詢member的排名 zrank key member返回集合元素的個數 zcard key刪除集合中的元素 zrem key value1 value2

?

參考:

Redis內存使用優化與存儲【http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage】

Windows下Redis的安裝使用【http://os.51cto.com/art/201403/431103.htm】

?

轉載于:https://www.cnblogs.com/xiaoxian1369/p/4322740.html

總結

以上是生活随笔為你收集整理的初识Redis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。