Files
effector.main/Supervisor/Utility/RedisManager.vb
T
Emmanuele Sassi 9add240f1d - commit iniziale
2024-07-23 15:56:02 +02:00

57 lines
1.6 KiB
VB.net

Imports StackExchange
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()
Try
' inizializzo connessione al server Redis
m_RedisConnection = ConnectionMultiplexer.Connect("localhost")
m_nRedisDbIndex = GetMainPrivateProfileInt(S_REDIS, K_DBINDEX, 0)
m_RedisDb = m_RedisConnection.GetDatabase(m_nRedisDbIndex)
' inizializzo sottoscrizioni
m_Subscriber = m_RedisConnection.GetSubscriber()
m_Subscriber.Subscribe("Messages", AddressOf SubscribeHandler)
Catch ex As Exception
EgtOutLog("Redis connection error!! " & Environment.NewLine & ex.Message)
End Try
End Sub
Private Sub SubscribeHandler(RedisChannel As RedisChannel, RedisValue As RedisValue)
EgtOutLog("Ricevuto valore " & RedisValue.ToString() & " dal canale " & RedisChannel.ToString())
End Sub
End Class