Interface Cache

  • All Known Implementing Classes:
    MemCache

    public interface Cache
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void clear()
      Remove all values from the cache
      void close()  
      byte[][] getCachedValues​(byte[] handle, byte[][] reqTypes, int[] reqIndexes)
      Returns any non-expired handle values that are in the caches storage.
      boolean isCachedNotFound​(byte[][] values)
      Returns true if this return value of getCachedValues indicates a cached value of HANDLE_NOT_FOUND
      void removeHandle​(byte[] handle)
      Remove one handle from the cache
      void setCachedNotFound​(byte[] handle, int ttl)
      Returns true if this handle should have a cached HANDLE_NOT_FOUND.
      void setCachedValues​(byte[] handle, HandleValue[] newValues, byte[][] newTypeList, int[] newIndexList)
      Store the given handle values after a query for the handle.
      void setMaximumHandles​(int maxHandles)
      Set the maximum size for the cache by the number of handles.
      void setMaximumSize​(int maxSize)
      Set the maximum size for the cache by the number of bytes used for storage.
    • Method Detail

      • getCachedValues

        byte[][] getCachedValues​(byte[] handle,
                                 byte[][] reqTypes,
                                 int[] reqIndexes)
                          throws java.lang.Exception
        Returns any non-expired handle values that are in the caches storage. A null return value indicates that the requested values aren't in the cache. Returning the an array of values (including an array of zero length) indicates that the returned values are the only values from the requested set (ie the handle doesn't have any more values from the requested set). Returns a sentinel value if HANDLE_NOT_FOUND has been cached; return value should be checked against isCachedNotFound before using. ***** Speed is important in this method *****
        Throws:
        java.lang.Exception
      • isCachedNotFound

        boolean isCachedNotFound​(byte[][] values)
        Returns true if this return value of getCachedValues indicates a cached value of HANDLE_NOT_FOUND
      • setCachedValues

        void setCachedValues​(byte[] handle,
                             HandleValue[] newValues,
                             byte[][] newTypeList,
                             int[] newIndexList)
                      throws java.lang.Exception
        Store the given handle values after a query for the handle. The query was performed with the given type-list and index-list. ***** Speed is less important in this method *****
        Throws:
        java.lang.Exception
      • setCachedNotFound

        void setCachedNotFound​(byte[] handle,
                               int ttl)
                        throws java.lang.Exception
        Returns true if this handle should have a cached HANDLE_NOT_FOUND. Pass time-to-live.
        Throws:
        java.lang.Exception
      • setMaximumHandles

        void setMaximumHandles​(int maxHandles)
        Set the maximum size for the cache by the number of handles.
      • setMaximumSize

        void setMaximumSize​(int maxSize)
        Set the maximum size for the cache by the number of bytes used for storage.
      • removeHandle

        void removeHandle​(byte[] handle)
                   throws java.lang.Exception
        Remove one handle from the cache
        Throws:
        java.lang.Exception
      • clear

        void clear()
            throws java.lang.Exception
        Remove all values from the cache
        Throws:
        java.lang.Exception
      • close

        void close()
            throws java.lang.Exception
        Throws:
        java.lang.Exception