63 lines
2.0 KiB
VB.net
63 lines
2.0 KiB
VB.net
Imports System
|
|
Imports StackExchange.Redis
|
|
|
|
Class RedisManager
|
|
|
|
' connessione al server Redis
|
|
Private m_RedisConnection As ConnectionMultiplexer
|
|
Public ReadOnly Property RedisConnection As ConnectionMultiplexer
|
|
Get
|
|
Return m_RedisConnection
|
|
End Get
|
|
End Property
|
|
|
|
' indice del Db Redis
|
|
Private m_nRedisDbIndex As Integer = 0
|
|
Public ReadOnly Property nRedisDbIndex As Integer
|
|
Get
|
|
Return m_nRedisDbIndex
|
|
End Get
|
|
End Property
|
|
|
|
' Database Redis
|
|
Private m_RedisDb As IDatabase
|
|
Public ReadOnly Property RedisDb As IDatabase
|
|
Get
|
|
Return m_RedisDb
|
|
End Get
|
|
End Property
|
|
|
|
' gestore sottoscrizioni
|
|
Private m_Subscriber As ISubscriber
|
|
Public ReadOnly Property Subscriber As ISubscriber
|
|
Get
|
|
Return m_Subscriber
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(sConnection As String, nDbIndex As Integer)
|
|
Try
|
|
' inizializzo connessione al server Redis
|
|
m_RedisConnection = ConnectionMultiplexer.Connect(sConnection)
|
|
m_RedisDb = m_RedisConnection.GetDatabase(nDbIndex)
|
|
' inizializzo sottoscrizioni
|
|
m_Subscriber = m_RedisConnection.GetSubscriber()
|
|
'Dim InputChn As New RedisChannel("Messages", RedisChannel.PatternMode.Auto)
|
|
'm_Subscriber.Subscribe(InputChn, AddressOf SubscribeHandler)
|
|
Catch ex As Exception
|
|
System.Console.WriteLine("Redis connection error!! " & Environment.NewLine & ex.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub SubscribeHandler(RedisChannel As RedisChannel, RedisValue As RedisValue)
|
|
System.Console.WriteLine("Ricevuto valore " & RedisValue.ToString() & " dal canale " & RedisChannel.ToString())
|
|
End Sub
|
|
|
|
Friend Sub SubscribeChannel(sName As String, Handler As Action(Of RedisChannel, RedisValue))
|
|
m_Subscriber = m_RedisConnection.GetSubscriber()
|
|
Dim InputChn As New RedisChannel(sName, RedisChannel.PatternMode.Auto)
|
|
m_Subscriber.Subscribe(InputChn, Handler)
|
|
End Sub
|
|
|
|
End Class
|