荥阳市论坛

注册

 

发新话题 回复该主题

CRedis五种数据类型的操作简 [复制链接]

1#
白癜风挂号 http://pf.39.net/bdfyy/dbfzl/151013/4709429.html


   前段时间学习了Redis,一直在忙着工作和一些其他的事情,这两天有空了,就把这学习到的技术分享出来给大家,谢谢

Redis是什么?

Redis的特点

Redis使用场景

Redis数据类型


  一、.Redis是什么?

Redis是一个完全免费开源的,基于内存的高性能的key-value存储系统,可以用作数据库、缓存和消息中间件。支持多种类型的数据结构.

Redis内置数据持久化、LRU驱动事件、事物、主从复制、哨兵机制、集群、自动分区、lua脚本提供高可用性..

Redis全称为:RemoteDictionaryServer(远程数据服务)

Redis是一种非关系型数据库


  二、Redis的特点

Redis以内存作为数据存储介质,读写数据的效率极高。速度快:使用标准c语言编写,所有数据在内存存储,读速度:次/s写速度:次/s

Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启,数据也不会丢失。

Redis的存储分为内存存储、磁盘存储和log文件。

Redis可以从磁盘重新将数据加载到内存中,也可以通过配置文件对其进行配置,因此,redis才能实现持久化。

Redis支持主从模式,可以配置集群,更利于支撑大型的项目。

Redis是单线程:一次只能执行一条命令,拒绝长命令(因为Redis基于内存,不牵扯磁盘IO操作限制)


  三、Redis应用场景


  缓存:配合关系型数据库做高速缓存(string),会话缓存(最常用)

消息队列

活动排行榜,计数器:用户点赞,评论数,投票,网站访问量,点击率等(zset)

发布,订阅消息(消息通知)

商品列表,评论列表

分布式锁:分布式环境下,访问共享资源(string)

分布式session:分布式环境下,需要session共享(string)

用户信息,发布文章信息等(hash)

朋友圈,微博时间线,自动补全联系人(list)

抽奖系统,给用户添加标签,给标签添加用户、共同
  就会得到相应的引用


  1.String

///summary///string////summarypublicstaticvoidTestString(){using(RedisClientclient=newRedisClient(".0.0.1",)){//清空Redis里面的所有缓存client.FlushAll();//存储client.Setstring("name","admin");client.Set("password","");//读取stringname=client.Getstring("name");stringpwd=client.Getstring("password");Console.WriteLine(name);Console.WriteLine(pwd);}}

//结果如图

 

2.Hash

///summary///Hash////summarypublicstaticvoidTestHash(){using(RedisClientclient=newRedisClient(".0.0.1",)){//清空Redis里面的所有缓存client.FlushAll();//配置数据Dictionarystring,stringdictionary=newDictionarystring,string();dictionary.Add("a","1");dictionary.Add("b","2");dictionary.Add("c","3");dictionary.Add("d","4");dictionary.Add("e","5");//缓存client.SetRangeInHash("dictionary",dictionary);//追加client.SetEntryInHash("dictionary","","fgh");//获取存入的数据Dictionarystring,stringhashData=client.GetAllEntriesFromHash("dictionary");foreach(variteminhashData){Console.WriteLine("Key是:{item.Key}------Vaule值是:{item.Value}");}}}//结果如图

3.Set

///summary///Set////summarypublicstaticvoidTestSet(){using(RedisClientclient=newRedisClient(".0.0.1",)){//清空Redis里面的所有缓存client.FlushAll();client.AddItemToSet("

分享 转发
TOP
发新话题 回复该主题