Does ServiceStack.Redis support RediSearch? - redis

We currrently use ServiceStack for the majority of our APIs. We have come across the need to implement RediSearch against one of our Redis instances. Does ServiceStack.Redis support RediSearch?
I know StackExchange.Redis does with the NRediSearch library.

NRediSearch is the best RediSearch client out there for .NET.
NRedisStack is in the works to extend for all Redis Stack modules on StackExchange.Redis:
https://github.com/redis/NRedisStack
RediSearch is not fully implemented yet, it is in progress (on the SearchCommands branch) so it will be available soon.

No it doesn't due to lack of demand, feel free to submit a feature request for it so we can measure demand at:
https://servicestack.net/ideas

Related

Apache Ignite's Mixed-Platform Clusters limitation and Data Streaming

We are analyzing ignite to use it in .NET platform, In Ignite document we can see there is some limitation on running cluster in Java and Thin Client in .NET. The list provided in the document doesn't mention about "Data Streaming". So would like to know whether "Data Streaming" is supported in "Mixed-Platform" or not ?
Yes, Data Streaming is supported in mixed-platform clusters, and you can do it from Ignite.NET Thin Client without any limitations.
P.S. The document is slightly outdated (fix on the way), Services are also supported in this scenario, you can make Java <-> .NET service calls in both directions, which some customers use extensively:
https://ignite.apache.org/docs/latest/net-specific/net-java-services-execution

.net core 2.1 redis cache in azure functions v2

Am reading people having trouble with using rediscache in azure functions on consumption plan.
please advise best practice for using caching in azure functions 2.0
my rediscache will be used by api's as well as azure functions (consumption plan). since connection object is supposed to be singleton and reused in case of functions on every request it will create new connection will this create problems ?
Please be aware of the various limitations for Azure Redis Cache performance per pricing tier, especially SSL and Non-SSL connections per second. Please also be aware of the benefits + behaviors of using the StackExchange.Redis configuration options.

JVM Level Clustering in Netty Server 4.0

This is my first question in this forum, so kindly forgive me for my mistakes.
Now, my query is regarding clustering in Netty Server 4.0.
We have one solution which was designed and developed in Netty Server. That time it was using multiple instances in a way so that clients were not effected if the sessions are not shared among them.
Now, in a different project while using the same solution we have come across a situation where we need to share and synchronized the JVM within multiple instances. Since, netty itself does not support JVM level clustering we are looking for a framework which will support Netty to run in cluster mode.
We are not supposed to put lot of efforts in re-writing the Netty Server code and other business login as it is serving the same purpose but we are looking for a configuration based framework to support clustering with Netty Server.
Some configuration based tutorial are really appreciated.
Thanks in advance and looking forward for responses.
Regards
Sid

NServicebus without any persistence?

A newbie question : If I am not using Sagas or pub/sub model, do I need any persistence layer with NServiceBus?
The default persistence is RavenDB, I was wondering if I just use NSB without RavenDB or any persistence layer?
Side note:
Currently I have to run RavenDBServer.exe before I can even play around with NserviceBus, so if I do start using NServiceBus, I don't want to have a dependency on another app running in production. This could be a issue with my install.
NServiceBus only uses persistence for storing subscriptions for pub/sub and for saga state. If you aren't using those then you don't need RavenDB or any other implementation. I believe the NServiceBus.Core binary by default comes bundled with RavenDB DLLs, but it won't be needed in production in your case.
If I understand correctly, you could also use the NServiceBus.Lite profile which I believe uses in memory persistence. This is a great way to go as you are developing and trying to learn NServiceBus. However, I'm not sure you'd want to do so in production. It would be a better practice to have some persistence either in a database or file system to ensure reliability of your application in the case of errors or application restarts.

Faye or Redis Pubsub

I thought I understood this technology, but maybe I don't. What's the difference between the two? Why would you choose one over the other?
Usecase: ~Realtime updates.
I'm the author of Faye. Conceptually, Faye and Redis pub/sub do very similar things, indeed the latest release of Faye can use Redis as a back-end. As Tom says, Redis is appropriate for inter-process messaging within your server cluster since the Redis client will get access to your whole Redis database.
Faye is more appropriate if you want to provide a publicly accessible pub/sub service over the web, for example to power the UI for your website. It only does pub/sub, not any other storage like Redis provides, and works over HTTP and WebSocket rather than over a raw TCP socket. It also allows for user-defined client- and server-side extensions to expand the messaging protocol it uses.
Redis publish/subscribe is a very simple system for internal use in a server cluster - it requires an open connection to redis (unauthenticated and giving complete access to everything in redis).
Obviously this is the most efficient way to handle scenarios where this is appropriate, but if you need authentication, reliable delivery, or http connections you will need to add a more complete messaging system on top of redis. Faye is one of the options in this space.