C#操作Redis List 列表

摘要:
12*Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,13*这样list既可以作为栈,又可以作为队列。
1  /// <summary>
2         ///Redis 列表
3         /// </summary>
4         public static voidRedis_List()
5 {
6             RedisClient client = new RedisClient("127.0.0.1", 6379);
7             //清空数据库缓存,慎用
8 client.FlushAll();
9 
10             /*
11 * list是一个链表结构,主要功能是push,pop,获取一个范围的所有的值等,操作中key理解为链表名字。 
12 * Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,
13 * 这样list既可以作为栈,又可以作为队列。Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,
14 * Redis内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构 
15              */
16 
17             #region 队列操作
18 
19 
20             client.EnqueueItemOnList("QueueList", "1.张三");  //入队
21             client.EnqueueItemOnList("QueueList", "2.张四");
22             client.EnqueueItemOnList("QueueList", "3.王五");
23             client.EnqueueItemOnList("QueueList", "4.王麻子");
24             int q = client.GetListCount("QueueList");
25             for (int i = 0; i < q; i++)
26 {
27                 //出队后原有队列数据移除
28                 //出队(队列先进先出)
29                 Console.WriteLine("QueueList出队值:{0}", client.DequeueItemFromList("QueueList"));
30 }
31             #endregion
32             #region 栈操作
33 
34             client.PushItemToList("StackList", "1.张三");  //入栈
35             client.PushItemToList("StackList", "2.张四");
36             client.PushItemToList("StackList", "3.王五");
37             client.PushItemToList("StackList", "4.王麻子");
38             int p = client.GetListCount("StackList");
39             for (int i = 0; i < p; i++)
40 {
41                 //出栈后原有队列数据移除
42                 //出栈(栈先进后出)
43                 Console.WriteLine("StackList出栈值:{0}", client.PopItemFromList("StackList"));
44 }
45             #endregion
46 
47         }

免责声明:文章转载自《C#操作Redis List 列表》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#安装卸载服务MySql/Oracle树形结构查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

R语言基础-数组和列表

数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, dim),当中data必须是同一类型的数据。dim是各维的长度组成的向量。 1、产生一个三维和四维数组。 例1:xx <- array(1:24, c(3, 4,...

图片在 canvas 中的 选中/平移/缩放/旋转,包含了所有canvas的2D变化,让你认识到数学的重要性

1、介绍   canvas 已经出来好久了,相信大家多少都有接触。   如果你是前端页面开发/移动开发,那么你肯定会有做过图片上传处理,图片优化,以及图片合成,这些都是可以用 canvas 实现的。   如果你是做前端游戏开发的,可能会非常熟悉,或者说对几何和各种图形变化非常了解。   这里我介绍的是简单的、基本的,但是非常完全的一个 2d 的 canva...

Linux安装redis,启动配置不生效(指定启动加载配置文件)

一、今天有个同学问我,为什么明明安装了redis,修改了配置,启动的时候,配置还是不生效。如下图是安装后的redis文件图。 二、想加载上图中的redis.conf,进入到src中寻找到启动文件redis-server 三、启动时指定加载的配置文件 四、如下图所示,加载的配置文件,你修改的信息均会生效。 个人公众号谢谢各位老铁支持...

redis安装及问题解决

---恢复内容开始--- 环境:centOS6.5 安装包:redis-3.0.0.tar.gz 将redis-3.0.0.tar.gz放到/usr/local 一、安装 1进入/usr/local下进行解压 cd /usr/local tar -zvf redis-3.0.0.tar.gz 2进入解压目录进行编译安装 cd /usr/local/redi...

SSRF漏洞利用之Redis大神赐予shell

    0x00实验环境 1、centos靶机(IP为:192.168.11.205,桥接模式) 2、kali黑客攻击主机(IP为:192.168.172.129,NAT模式) 0x01实验原理  这段payload的作用我们先说明一下,其作用是在靶机的/var/spool/cron临时目录下,利用ssrf漏洞写入黑客的redis数据库的操作,这样,黑客可...

Docker Redis

link - https://store.docker.com/images/redis?tab=description start a redis instance $ docker run --name some-redis -d redis This image includes EXPOSE 6379 (the redis port), so s...