title: getting error while trying to get value from redis if key is not exist
body: <pre><code>{_, value} = Redix.command(:redix, ["GET", socket.assigns.user])
  </code></pre>
  
  <p>This Command fails if there is no record available in the Redis database </p>
  
  <p>This is the error display in the console 
  [</p>
  
  <pre><code> [error] GenServer #PID&lt;0.461.0&gt; terminating
  ** (FunctionClauseError) no function clause matching in PhoenixChat.RoomChannel.handle_info/2
      (phoenix_chat) web/channels/room_channel.ex:14: PhoenixChat.RoomChannel.handle_info(%Phoenix.Socket.Broadcast{event: "message:new", payload: %{body: %{"to" =&gt; "rusiru", "value" =&gt; "hi bro "}, timestamp: 1501498879699, user: "abc"}, topic: "room:rusiru"}, %Phoenix.Socket{assigns: %{user: "abc"}, channel: PhoenixChat.RoomChannel, channel_pid: #PID&lt;0.461.0&gt;, endpoint: PhoenixChat.Endpoint, handler: PhoenixChat.UserSocket, id: nil, joined: true, pubsub_server: PhoenixChat.PubSub, ref: nil, serializer: Phoenix.Transports.WebSocketSerializer, topic: "room:abc", transport: Phoenix.Transports.WebSocket, transport_name: :websocket, transport_pid: #PID&lt;0.421.0&gt;})
      (phoenix) lib/phoenix/channel/server.ex:239: Phoenix.Channel.Server.handle_info/2
      (stdlib) gen_server.erl:601: :gen_server.try_dispatch/4
      (stdlib) gen_server.erl:667: :gen_server.handle_msg/5
      (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3
  Last message: %Phoenix.Socket.Broadcast{event: "message:new", payload: %{body: %{"to" =&gt; "rusiru", "value" =&gt; "hi bro "}, timestamp: 1501498879699, user: "abc"}, topic: "room:rusiru"}
  State: %Phoenix.Socket{assigns: %{user: "abc"}, channel: PhoenixChat.RoomChannel, channel_pid: #PID&lt;0.461.0&gt;, endpoint: PhoenixChat.Endpoint, handler: PhoenixChat.UserSocket, id: nil, joined: true, pubsub_server: PhoenixChat.PubSub, ref: nil, serializer: Phoenix.Transports.WebSocketSerializer, topic: "room:abc", transport: Phoenix.Transports.WebSocket, transport_name: :websocket, transport_pid: #PID&lt;0.421.0&gt;}
  [info] JOIN room:abc to PhoenixChat.RoomChannel
    Transport:  Phoenix.Transports.WebSocket
    Parameters: %{}
  [info] Replied room:abc :ok
  </code></pre>
  
  <p>This is the code snippet in <code>room_channel.ex</code></p>
  
  <pre><code> def handle_info(:after_join, socket) do
       {_, value} = Redix.command(:redix, ["GET", socket.assigns.user])
      Presence.track(socket, socket.assigns.user, %{
        online_at: :os.system_time(:millisecond),
        status: value
      })
      push socket, "presence_state", Presence.list(socket)
      {:noreply, socket}
    end
  </code></pre>
  
  <p>How can I fix this issue?</p>