This presentation was used in a Redis talk that took place in ALT.NET Melbourne at February 25th, 2014. It is aimed for .Net developers, though almost all of the slides solely discuss Redis as the data store server, without any relation to client libraries in general and .Net in particular.
MYSQL Query Anti-Patterns That Can Be Moved to SphinxPythian
PalominoDB European Team lead, Vladimir Fedorkov will be discussing how to handle query bottlenecks that can result from increases in dataset and traffic
Apache Solr! Enterprise Search Solutions at your Fingertips!Murshed Ahmmad Khan
Get an overview of Apache Solr as an enterprise search server. Get to know the available alternatives and why the Solr is cool! Get Excited! Enterprise Search Solutions are ready to pick.
MYSQL Query Anti-Patterns That Can Be Moved to SphinxPythian
PalominoDB European Team lead, Vladimir Fedorkov will be discussing how to handle query bottlenecks that can result from increases in dataset and traffic
Apache Solr! Enterprise Search Solutions at your Fingertips!Murshed Ahmmad Khan
Get an overview of Apache Solr as an enterprise search server. Get to know the available alternatives and why the Solr is cool! Get Excited! Enterprise Search Solutions are ready to pick.
Do you wonder how to contribute to MariaDB? Have you considered writing a plugin? MariaDB ships many plugins (over a hundred) and you could also be one of them. Find out what they do, how to use them, and so forth. A lightning talk given for the MySQL NL User Group meetup in Amsterdam.
Introduction to Solr, presented at Bangkok meetup in April 2014:
http://www.meetup.com/bkk-web/events/172090992/
Covers high-level use-cases for Solr. Demos include support for Thai language (with GitHub link for source).
Has slides showcasing Solr-ecosystem as well as couple of ideas for possible Solr-specific learning projects.
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesBrett Meyer
DevNexus 2014
Hibernate has always revolved around data, ORM, and JPA. However, it’s much more than that. Hibernate has grown into a family of projects and capabilities, extending well beyond the traditional ORM/JPA space.
This talk will present powerful features provided both by Hibernate ORM, as well as third-party extensions. Some capabilities are brand new, while others are older-but-improved. Topics include multiple-tenancy, geographic data, auditing/versioning, sharding, OSGi, and integration with additional Hibernate projects. The talk will include live demonstrations.
Apache solr is an enterprise search engine. It facilitates indexing of large number of documents of any size and provides very robust search techniques. This ppt provides brief introduction of it.
An introduction to Cassandra as well as an example of accessing Cassandra from Clojure.
Includes an introduction to cluster architecture and data model in Cassandra. The code for the examples is available at: https://github.com/nickmbailey/clojure-cassandra-demo
Apache Solr is a popular, open source enterprise search platform built on the Java based search engine library Apache Lucene. It powers the search and navigation features of many of the world's largest companies like Netflix, Instagram, LinkedIn, Twitter and eBay, etc.
Overview of Solr 6.2 examples, including features they have and challenges they present. A contrasting demonstration of a minimal viable example. A step-by-step deconstruction of "films" example to show what part of shipped examples are not actually needed.
Tuning Linux for your database FLOSSUK 2016Colin Charles
Some best practices about tuning Linux for your database workloads. The focus is not just on MySQL or MariaDB Server but also on understanding the OS from hardware/cloud, I/O, filesystems, memory, CPU, network, and resources.
Cloudera - Using morphlines for on the-fly ETL by Wolfgang HoschekHakka Labs
In this talk Senior Software engineer Wolfgang Hoschek from Cloudera discusses Morphlines, the easy way to build and integrate ETL apps for Hadoop. The talk was recorded at the SumbleUpon offices.
Cloudera Morphlines is a new open source framework that reduces the time and skills necessary to integrate, build, and change Hadoop processing applications that extract, transform, and load data into Apache Solr, Apache HBase, HDFS, enterprise data warehouses, or analytic online dashboards.
Wolfgang Hoschek is a Software Engineer on the Platform team and the lead developer on Morphlines. He is a former CERN fellow and received his Ph.D from the Technical University of Vienna, Austria, and M.S from the University of Linz, Austria.
This session will introduce and demonstrate several techniques for enhancing the search experience by augmenting documents during indexing. First we'll survey the analysis components available in Solr, and then we'll delve into using Solr's update processing pipeline to modify documents on the way in. The session will build on Erik's "Poor Man's Entity Extraction" blog at http://www.searchhub.org/2013/06/27/poor-mans-entity-extraction-with-solr/
Do you wonder how to contribute to MariaDB? Have you considered writing a plugin? MariaDB ships many plugins (over a hundred) and you could also be one of them. Find out what they do, how to use them, and so forth. A lightning talk given for the MySQL NL User Group meetup in Amsterdam.
Introduction to Solr, presented at Bangkok meetup in April 2014:
http://www.meetup.com/bkk-web/events/172090992/
Covers high-level use-cases for Solr. Demos include support for Thai language (with GitHub link for source).
Has slides showcasing Solr-ecosystem as well as couple of ideas for possible Solr-specific learning projects.
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesBrett Meyer
DevNexus 2014
Hibernate has always revolved around data, ORM, and JPA. However, it’s much more than that. Hibernate has grown into a family of projects and capabilities, extending well beyond the traditional ORM/JPA space.
This talk will present powerful features provided both by Hibernate ORM, as well as third-party extensions. Some capabilities are brand new, while others are older-but-improved. Topics include multiple-tenancy, geographic data, auditing/versioning, sharding, OSGi, and integration with additional Hibernate projects. The talk will include live demonstrations.
Apache solr is an enterprise search engine. It facilitates indexing of large number of documents of any size and provides very robust search techniques. This ppt provides brief introduction of it.
An introduction to Cassandra as well as an example of accessing Cassandra from Clojure.
Includes an introduction to cluster architecture and data model in Cassandra. The code for the examples is available at: https://github.com/nickmbailey/clojure-cassandra-demo
Apache Solr is a popular, open source enterprise search platform built on the Java based search engine library Apache Lucene. It powers the search and navigation features of many of the world's largest companies like Netflix, Instagram, LinkedIn, Twitter and eBay, etc.
Overview of Solr 6.2 examples, including features they have and challenges they present. A contrasting demonstration of a minimal viable example. A step-by-step deconstruction of "films" example to show what part of shipped examples are not actually needed.
Tuning Linux for your database FLOSSUK 2016Colin Charles
Some best practices about tuning Linux for your database workloads. The focus is not just on MySQL or MariaDB Server but also on understanding the OS from hardware/cloud, I/O, filesystems, memory, CPU, network, and resources.
Cloudera - Using morphlines for on the-fly ETL by Wolfgang HoschekHakka Labs
In this talk Senior Software engineer Wolfgang Hoschek from Cloudera discusses Morphlines, the easy way to build and integrate ETL apps for Hadoop. The talk was recorded at the SumbleUpon offices.
Cloudera Morphlines is a new open source framework that reduces the time and skills necessary to integrate, build, and change Hadoop processing applications that extract, transform, and load data into Apache Solr, Apache HBase, HDFS, enterprise data warehouses, or analytic online dashboards.
Wolfgang Hoschek is a Software Engineer on the Platform team and the lead developer on Morphlines. He is a former CERN fellow and received his Ph.D from the Technical University of Vienna, Austria, and M.S from the University of Linz, Austria.
This session will introduce and demonstrate several techniques for enhancing the search experience by augmenting documents during indexing. First we'll survey the analysis components available in Solr, and then we'll delve into using Solr's update processing pipeline to modify documents on the way in. The session will build on Erik's "Poor Man's Entity Extraction" blog at http://www.searchhub.org/2013/06/27/poor-mans-entity-extraction-with-solr/
Redis is an advanced in memory key-value store designed for a world where "Memory is the new disk and disk is the new tape". Redis has some unique properties -- like blazing read and write speed, rich atomic operations and asynchronous persistence -- which make it ideally suited for a number of situations.
The tutorial includes an introduction to redis, data types used for redis, performance related to redis, sweet spots of redis, design consideration/best practices, adopters of redis. Begins with a section giving an introduction to redis which includes an introduction to redis and the features of redis. It also includes a brief history of redis, characteristics of redis, language support of redis. Following is a data types section. It includes the data types of redis like strings, lists, hashes, sets, sorted sets. It also includes not thinking of redis as an RDBMS, installation, atomicity of commands, key expiration.
Moreover, it also includes operations on lists, sets, sorted sets, hashes, keys, redis administration command. Alongside there is a section about performance of redis which includes the performance given by redis like hardware, payload size, batch size. It also includes benchmarks attained by redis, a demo version of redis, data durability and advantages of persistence. Then comes a section about sweet spots of redis. It includes sweet spots like cache server, tag cloud, auto completion, activity feeds and many more sweet spots. It also includes case studies as a video marketing platform, content publishing app etc.
A neighbouring section to this is about best practices which includes the design considerations and best practices of redis like avoid excessive long keys, have human readable keys, all data must fit in memory, polygot persistence is a smart choice and many more practices and design considerations. The last section of this tutorial includes some adopters of redis like stack overflow, craiglist, github, Instagram, blizzard entertainment.
Technical Introduction to PostgreSQL and PPASAshnikbiz
Let's take a look at:
PostgreSQL and buzz it has created
Architecture
Oracle Compatibility
Performance Feature
Security Features
High Availability Features
DBA Tools
User Stories
What’s coming up in v9.3
How to start adopting
Still All on One Server: Perforce at Scale Perforce
Google runs the busiest single Perforce server on the planet, and one of the largest repositories in any source control system. This session will address server performance and other issues of scale, as well as where Google is in general, how it got there and how it continues to stay ahead of its users.
This talk delves into the many ways that a user has to use HBase in a project. Lars will look at many practical examples based on real applications in production, for example, on Facebook and eBay and the right approach for those wanting to find their own implementation. He will also discuss advanced concepts, such as counters, coprocessors and schema design.
An overview of various database technologies and their underlying mechanisms over time.
Presentation delivered at Alliander internally to inspire the use of and forster the interest in new (NOSQL) technologies. 18 September 2012
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesHoward Greenberg
While installing a new HCL Domino server is a relatively straight forward task, configuring the server properly requires knowledge. Lacking this knowledge means that several key steps may be missed resulting in a server with potential security and performance issues. Additionally there are several key features that will save you time on administration of the server. Domino server settings also affect the performance and security of custom applications. Even if you are a developer you should be aware of the options available when configuring a server.
Join our incredibly experienced presenters as they share their many years of Domino expertise. They will cover the finer details to correctly setup a Domino server environment that is optimized for performance, security and sustainable administration. Plus use this information presented in this webinar to modify and improve your existing server environment.
Presenters:
Heather Hottenstein, HCL Ambassador
Roberto Boccadoro, HCL Ambassador
Serdar Basegmez, HCL Ambassador
Additonal Panelists (Q and A)
John Paganetti, HCL
Performance is an important key in the success of a good user experienceCaching information is often the best way to achieve the performance.
Redis is far for the traditional cache which deals only with key-value pairs. Build from an open-sourceproject, it is accessible from multiple languages and supports atomic operations such as appending to a string, incrementing the value in a hash, pushing to a list, computing set intersection, union and difference, or getting the member with highest ranking in a sorted set.
This session will introduce many features of the Azure Redis Cache service through a demo application.
Speed up your Symfony2 application and build awesome features with RedisRicard Clau
Redis is an extremely fast data structure server that can be easily added to your existing stack and act like a Swiss army knife to help solve many problems that would be extremely difficult to workaround with the traditional RDBMS. In this session we will focus on what Redis is, how it works, what awesome features we can build with it and how we can use it with PHP and integrate it with Symfony2 applications making them blazing fast.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
2. What is Redis?
• Key-Value Store / “Data Structure Server”
• Value data types: string, list, set, sorted set, hash
• Memory-based
which means…
very fast reads and writes!!
•
BUT with disk persistence, so you enjoy all the goods
• The only limitation is physical memory on the machine.
3. What is Redis?
• Extremely easy to use; clearly documented
• Mainly used as Cache layer but some use it as their
first-class database
• Hmm… and BTW… it’s also a great Pub/Sub engine!
• All of its config is done in one very clear text file
• DEMO
• Single-threaded
4. Redis vs Memcached
• Rich set of data types, not just key-value pairs
• Supports persistence, you don’t lose what’s in the
RAM when server reboots
• Replication out-of-the-box
• You can even create replication trees
5. What is Redis?
• Open Source (BSD 3-Clause)
• Written by Salvatore Sanfilippo (@antirez)
and other very smart contributors
• Full time sponsored by VMware and now by Pivotal
6. Who uses Redis?
I’ve almost forgot…
Source: http://blog.togo.io/redisphere/redis-roundup-what-companies-use-redis/
8. DATA TYPES
STRING
users:1
{name:’John’,email:’a@b.com’}
images:5
#h•ChhµLT5•OJ
z‹ H
• Up to 2^32 bits (512MB) in each key!
• Binary safe
• Can hold, and ideal for:
• Plain strings – page/post cache etc.
• Full JSON objects
• Raw bits / flags (great usage: realtime metrics – daily
active users - http://blog.getspool.com/2011/11/29/fast-easyrealtime-metrics-using-redis-bitmaps/)
• Even binary file content (hence binary file
manipulation for example)
11. DATA TYPES
bus:messages
1
LIST
4
{age:3}
1
• Up to 2^32 elements in each key (about 4 billion!)
• Internally maintained as linked-lists
• O(N) - Extremely fast near both ends of the list, less
in the middle
• Ideal for:
• Queues (private and shared)
• Stacks
• Top N, Recent News
13. DATA TYPES
bus:messages
1
LIST
4
{age:3}
1
• Sample usages:
• Timeline of a social network – LPUSH to add new
items, LRANGE to retrieve most recently added items
• LPUSH+LTRIM together to always keep top/latest N
• Useful for logging of recent user actions / errors
• RPOPLPUSH using same source and destination to
create a rotation of “ring” of items
• Blocking/waiting
15. DATA TYPES
page:home:uniquevi
sitors:20140225
80.55.203.40
SET
201.3.14.185
55.67.100.120
40.77.232.204
• Examples:
• SRANDMEMBER / SPOP
• SINTERSTORE / SUNIONSTORE / SDIFFSTORE etc.
• Sample usages:
• Tracking unique IPs (just use SADD every view, then use
SCARD whenever you want)
• Tagging: Use a set for each tag (each member is, say, a
picture ID). You can easily get all pictures that have 3
different tags using SINTER
• Extract random members (ads, lottery balls, tip of the day…)
using SPOP / SRANDMEMBER
16. DATA TYPES
SORTED SET
sam
Leaders
neville
devon
matt
4236
5870
7615
7615
• Same as set, but ordered
• The order is defined by score. Each member has a score
assigned to.
• Up to 2^32 members in each key (about 4 billion)!
• Supports intersections, unions etc. – basically all commands
that a SET supports
• O(LOG(N)), O(N) and such
• But hey! It’s still a millisecond or so even for big sorted sets
• Sorting takes place upon insert, so queries for ranges, even in the
middle, are still fast
• Members are still unique, but scores may be repeated.
17. DATA TYPES
SORTED SET
sam
Leaders
neville
devon
matt
4236
5870
7615
7615
• Sample usages:
• Maintain a leader board of a game, get top X etc.
• In general, any top something. Such as top posts by
pageviews etc.
• Index other data in Redis. For example: a sorted set
where each member is a user ID and the score is their
age. You can query for all users within a given age
range.
• Search text statistics
18. DATA TYPES
HASH
name
age
29
gender
m
active
user:13
Bob
1
• If Redis keys/values are a big hash, then a HASH key
holds a value that is itself a HASH
• But that can’t be nested further
• Up to 2^32 key/value pairs in each hash
• Fields in a hash can still be atomically incremented,
for example
21. PERSISTENCE
RDB
• Point-in-time snapshot of all dataset
• Compact, ideal for regular backup/archive, can be
delivered to S3 etc.
• Multiple save-points available, set in redis.conf
22. PERSISTENCE
•
•
•
•
AOF == Append Only File
Writes every command, like a tape
Gets re-written when it gets too big
Can be easily parsed & edited
AOF
23. PERSISTENCE
OK, so what should I use?
• I don’t have clear answer, as always “it depends”
• Visit http://redis.io/topics/persistence for much
more explanation including “What Should I Use”
• Bottom line – defaults are OK, just start and worry
about that when your app gets bigger
24. KEY EXPIRATION
• Each key can be set to expire:
• EXPIRE / EXPIREAT
• There is at least one command that allows setting
expire time within the command: SETEX
• Cancel expiration - PERSIST
• TTL - returns the remaining time to live of a key
that has a timeout.
• Overwrite of a whole key (i.e. SET) clears the
timeout.
25. KEY EXPIRATION
• Updating a value doesn’t clear and doesn’t reset the timeout.
• Very interesting read on how Redis actually deletes expired
keys - http://redis.io/commands/expire
• Global expiration policy can be set in redis.conf.
Ideal: when Redis is used as a cache layer:
• maxmemory 2mb
maxmemory-policy allkeys-lru
• There are more options – read the comments inside
redis.conf
31. SERVER
• Windows setup
• https://github.com/MSOpenTech/redis
• Currently v2.6.12
• For development only
• Linux setup
•
•
•
•
Recommended for production
Currently v2.8.6
First of all, don’t be afraid!
Clear instructions on the Redis site
• http://redis.io/topics/quickstart
• You can skip most manual steps and just run a server
installation script:
• http://download.redis.io/redis-stable/README
32. .NET CLIENTS
• ServiceStack.Redis
• https://github.com/ServiceStack/ServiceStack.Redis
• BookSleeve
•
•
•
•
https://code.google.com/p/booksleeve/
Written by Marc Gravell from Stack Exchange
Pipelined, Task API, async/await etc.
Maintain 1 connection throughout the app
• http://stackoverflow.com/a/8777999/290343
• DEMO
33. MANAGERS / VIEWERS
• Redsmin - https://redsmin.com/
• Robust
• Priced (except for a very basic plan)
• SaaS
• Redis Desktop Manager - http://redisdesktop.com/
• Open Source Desktop GUI
• Pretty basic
• redis-commander - https://github.com/joeferner/redis-commander
• Node.js, Open Source
• Pretty basic
34. Clustering
• A long task in process, current Alpha-grade code
•
•
http://redis.io/topics/cluster-tutorial
http://redis.io/presentation/Redis_Cluster.pdf
• In the mean time:
• Replication (master / slaves) – works great
• Redis Sentinel: http://redis.io/topics/sentinel
• A system designed to help managing Redis instances
• Monitoring. constantly checks if master and slave instances are
working as expected.
• Notification. notify sysadmin or other program, that something
is wrong with one of the monitored Redis instances.
• Automatic failover. if the master failed (a slave is promoted to
be master, everyone is updated).
35. Resources
• http://redis.io – Main Redis site
• Clients, servers, full documentation
• Interactive tutorial - http://try.redis.io/
• The Little Redis Book - http://openmymind.net/redis.pdf
• Various Stack Exchange articles about their infrastructure
including Redis:
• Canonical answer about Stack Exchange cache layers:
http://meta.stackoverflow.com/a/69172
• Great answer from Antirez himself about usage of the
different data types:
• http://stackoverflow.com/a/9626334
36. SO WHAT ARE YOU
WAITING FOR?
Super fast
Easy to install & maintain
Stable & robust
Easy to consume with .Net
High quality documentation
Editor's Notes
WATCH - a command that will make the EXEC conditional: we are asking Redis to perform the transaction only if no other client modified any of the WATCHed keys