博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
缓存框架——Redis(一)
阅读量:6590 次
发布时间:2019-06-24

本文共 2507 字,大约阅读时间需要 8 分钟。

一,服务端的安装

        服务端我用的是redis64-2.6.12.1,版本比较低,因为2.8的都安不上,可能是因为自己电脑是windows的原因吧。

        解压完成之后,

    进入到这个文件夹里面,输入:redis-server.exe redis.conf,服务开启成功之后,会这样子:

          

    

         

二,客户端程序的安装

           与memcached一样,我们也可以通过cmd的方式操作缓存,在客户端程序里面,可以使用dll.

                   在。net项目里面,我使用的是ServiceStack.Redis.3.9.29.0

                  

三,简单Demo示例

                      

             

using System;using System.Collections.Generic;using System.Linq;using System.Text;using ServiceStack.Common;using ServiceStack.ServiceInterface;using ServiceStack.Redis;using ServiceStack.Text;namespace TestRedis{    class Program    {        static RedisClient Redis = new RedisClient("127.0.0.1", 6379);        static void Main(string[] args)        {            //将字符列表添加到redis            List
storeMembers = new List
{"one","two","three" }; storeMembers.ForEach(x=>Redis.AddItemToList("addItemToList",x)); //得到指定的key所对应的value集合 var members = Redis.GetAllItemsFromList("addItemToList"); members.ForEach(s=>Console.WriteLine("addItemToList:"+s)); //获取指定索引位置数据 var item = Redis.GetItemFromList("addItemToList",2); Console.WriteLine(item); //移除数据 var list = Redis.Lists["addItemToList"]; list.Clear();//清空 list.Remove("two");//移除指定键值 //存储对象(json序列化方法)它比object序列化方法效率高 Redis.Set
("userInfo", new UserInfo() { UserName="lhc",Age=12}); UserInfo userInfo = Redis.Get
("userInfo"); Console.WriteLine("name="+userInfo.UserName+";age="+userInfo.Age); //存储值类型数据 Redis.Set
("my_age", 12); int age = Redis.Get
("my_age"); Console.WriteLine("age=" + age); //object序列化方式存储 var ser = new ServiceStack.Redis.Support.ObjectSerializer(); bool result=Redis.Set
("userInfo2",ser.Serialize(new UserInfo(){UserName="pbc",Age=27})); UserInfo userInfo2=ser.Deserialize(Redis.Get
("userInfo2")) as UserInfo; Console.WriteLine("name="+userInfo2.UserName+";age="+userInfo2.Age); //也支持列表 List
userInfoList = new List
{ new UserInfo{UserName="lhccc",Age=22}, new UserInfo{UserName="bcss",Age=100} }; Redis.Set
("UserInfoList_serialize", ser.Serialize(userInfoList)); List
userList = ser.Deserialize(Redis.Get
("UserInfoList_serialize")) as List
; userList.ForEach( u => { Console.WriteLine("name="+u.UserName+";age="+u.Age); } ); Console.ReadKey(); } }}

           

                个人感觉,redis比memcached支持数据类型多,而且内存数据可以持久化,性能也不错,关于具体的技术选项分析,见下月吧。

   

你可能感兴趣的文章
JS字符串转换数字
查看>>
centos7-修改主机名
查看>>
面试宝典系列-mysql面试基础题
查看>>
微信硬件平台对接--蓝牙
查看>>
spring data for mongo
查看>>
开启 URL 重写
查看>>
Journey源码分析二:整体启动流程
查看>>
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
查看>>
七、MySQL中的字符集 - 系统的撸一遍MySQL
查看>>
centos7的php5.4竟然不支持原生的mysql
查看>>
使用IntelliJ IDEA开发SpringMVC网站(四)用户管理
查看>>
Maven依赖Scope标签用法
查看>>
ajax加载数据到页面无法打印的解决办法
查看>>
js 验证中文
查看>>
MySQL给查询结果添加一表表示行号或名次(1)
查看>>
Linux下运行java DES AES加解密
查看>>
DataNode 运行状况
查看>>
牛津词典 2018 年度词汇 ——「有毒」!
查看>>
XIB的是用
查看>>
Learning Data Structure_2_线性表、栈和队列
查看>>